One thing you have to realize if you want to play the Spy is that you cannot rely on your disguise to blend in with the other team. If you do you WILL be spy-checked and you WILL be killed. Instead you need to rely on your cloak and minimise your actual contact with enemy players*, moving in close only for opportune back stabs and sappings.
*except if you can latch yourself onto the back of a group of attacking enemies, in which case go for it and have your knife at the ready.
Also, stay the heck away from Pyros.
Exactly, decloak holding the knife, stab away. Hydro is especially good for this as you can generally get to the enemy rear in one cloak run, I got over 80 points the last time I played Hydro

(backstabs are worth 2 points, do the math).
The disguise only helps once you have already gotten to the enemy rear and are running along with them, and so that sentrys won't shoot you. Also, I discourage using the following disguises:
* Medic, because it doesn't show an ubercharge meter when you're disguised, so any competent player will realise you're a spy as soon as they mouse over you and see no ubercharge. Also, they expect you to be healing them, or someone else, if you're close enough to do so.
* Spy, as the enemy expects to see you wearing a plastic mask
* Heavy, too slow, hard to catch up to people and stab them in the back
* Soldier, as above
* Scout, too fast, they'll realise you're not a spy because you can't go as fast as a real scout.
* Sniper (generally), as there are only certain places where a sniper 'should be', and you don't generally see them running around a lot.
Which only leaves demoman, pyro, engineer, and I guess sniper in a few situations. For this reason I have a script which cycles through those disguises. DO NOT use that 'last disguise' button, unless you are sure no one saw you last time you were disguised.