My favorite is Engineer - but I lost interest in playing after all the hats and backpack and all that jazz. I know a lot of people like that aspect, but I only play on vanilla servers these days.
I tried to go on Steam, but bam, I have to sign in and I forgot my username. Then I had to awnser a security question about my school, which I did, but my school has many different names that I could have used, and what's about capital letters.
So if I want to get on steam, I have to create a new account.
My fav is Pyro P: you could do a lot of things to help your team (spy-check, extinguish, destroy sappers, push back ubered enemies, burn large groups of enemies, attack from behind and do crit damage, push back almost any kind of incoming projectiles, etc.)
BTW I personally feel very abused by the fact that VaLive decided to make Team Fortress 2 f2p... I understand that they actually COULD have done that since the Mann co shop was opened and they got a lot of money with in-game purchases. At the bright side, everyone could try out the fabulous MP game, but the other point is that the game now is filled with terrible noobs, bugs and stuff. and that's oifwul.