I have to agree with Hermione, he absolutely knows he is sexy, or at the very least he knows that alot of people find him sexy. He has gotten very good, over the years at using that sexiness. If you noticed, he doesn't really strip down anymore. I attribute that to maturity and learning how to best use his incredible ability to drive people insane.
Think about some lyrics, particularly St. Jimmy, which he said is semi-autobiographical.
I'm the patron saint of the denial
With an angel face and a taste for suicidal
Plus, honestly, he has been told his whole life that he was gorgeous, why wouldn't he know?