I've recently found a very useful virtual desktop utility, Dexpot. It takes a little getting used to, but it allows you to work with multiple desktops at once, and easily manages all of them so you always have an uncluttered workspace. Here's a screenshot showing one of the modes:
Check it out.