Excellent: medic, heavy, engineer
Above average: sniper
Average: pyro, soldier, demoman
Poor: scout, spy
I can spam very well with the demo, but I don't consider that skill. I love pushing cart as heavy, and I'm better offensive than defensive engineer.
If my team is doing well and I have some breathing room, I can beat a good deal of snipers. I spam rockets with soldier, but it's just not as effective as demo spam. I can't use the airblast very well with the pyro, which to me, is a very important aspect (that and of course spy checking).
Don't play scout terribly often unless we need to push the cart a long ways and everyone is getting over-extended. I play spy more now, but I can still be pretty terrible.
My best 3 classes are my most played classes.