I played Spy for my old gaming group's Highlander team(for those unaware, it's a competitive game mode where teams are limited to 9 players and 1 of each class). I consider myself pretty good, but I've definitely had my ass handed to me.
My spy set up is default, though I switch between all 3 watches(Dead Ringer, Cloak & Dagger, regular), as a good spy always messes with his opponents by never keeping the same watch forever. If I'm just screwing around I use the "My Eternal Reward" knife, which removes the ability to disguise on my own while letting me auto disguise when I backstab someone, silently killing them and making their corpse disappear with no kill signal in the top right.
As a pyro, I only change my flamethrower to the Degreaser.
Scout is vanilla(default).
Soldier is vanilla.
Medic is default OR kritzkrieg if needed. Don't play him too much.
Engineer varies; generally I go with the default shotgun and pistol and switch between the Jag as a defensive engineer and the Gunslinger on attack.
Don't play sniper unless I'm just bored 'cus I suck at sniping.
Spy is definitely my main.
I've clocked over 500 hours in the game, some from screwing around, most from pub gameplay, and some from scrims with other gaming groups during Highlander games. I also clocked some time from tf2lobby.com playing 6v6 games as a crappy scout or medic.