Pretty easy to catch them. The only reason people make viruses are for fun, revenge, or just to show off. Since most of them are noobie script kiddies, they tend to get caught pretty easily and probably got sentenced to something the equivalent of the sentence for vandalism. The ones who do it for revenge are often noticable too.
And as for those who enjoy the technical challenge, they tend to leave a 'counter' in it that adds each time it moves to another computer. That way they get to see how old the virus is and how many computers it visited. The drawback of this is that people can trace it back through the counter. Some of the smarter ones encrypt the counter, but anyone who's taken a course in encryption will tell you that it's possible to 'pick the lock' on most encryptions.
I have to respect whoever made that Bro_Act virus though, it siezed the system by pretending to be the Administrator, disabled task manager and the security, blocked out system restore attempts, and closed the window whenever there were words like Sophos or antivirus. That last part made it near impossible to delete, but thanks to my skill at randomly clicking and searching, I somehow got rid of it after 3.5 hours.
Most other viruses are crap, though, I remember removing HTML viruses from my site by just deleting the code, though Norton couldn't clean it. I also remember a few dozen other viruses which I disabled through the Windows task administrator then searched and deleted the new files.
Disclaimer: Any sarcasm in my posts will not be mentioned as that would ruin the purpose. It is assumed that the reader is intelligent enough to tell the difference between what is sarcasm and what is not.