My favorites are heavy and scout. Both are very useful and can heal themselves. With heavy, I use the default minigun, the Sandvich, and the Gloves of Running Urgently. I can get to the front lines quickly, heal myself or friendly medics, and of course do massive damage against anything in my way. As for scout, I run Scattergun, Mad Milk, and Sandman. I finally got good with those balls and now I can take out heavies single-handedly, and the milk is great to heal up on the go or turn an unfavorable match into a favorable one, like point-blank vs pyro. I have played a LOT of Team Fortress!
The only class I could say is my least favorite(as I play them all) is sniper, because I'm not that good at it (yet) and I am envious of people who are.