Yeah, after you wreak a certain amount of havoc as a spy no disguise will save you from random spychecking. Demoman is often quite effective considering what you're likely to be doing as a spy. Let's run down a list of the disguises, shall we?
Scout and Medic are always bad choices.
Heavy has a nasty speed drop, though he can be good for drawing enemy ubers.
As a Pyro, picking up the name of the opposing team's principal spychecker is generally negative.
As an Engineer, sharing a name with someone whose sentries you're sapping is also not great.
Both Sniper and Spy have potential, but opposing players will be suspicious of those classes running around willy-nilly.
This leaves Demoman and Soldier, the most reliable disguises. Demoman is usually preferable as you avoid the speed drop, but soldier is also good depending on opposing demographics.