I'm not using VS, but I am using Rad Studio C++ from Embarcadero, and have been using it in a VM for years.
If I were using VS (Well, OK, I use a little bit of VS2008 as well) then I would run it in a VM too.
I like running s/w development environments like this in a VM because:
it means its completely portable - I can copy my VM from main machine to laptop to carry around if I need to;
my main machine runs the standard environment, and the VM is separate. I can keep the functional separation;
if my main machine gets upgrade (which it has been - 3 times) then I don't have to re-install anything in the VM - my s/w development environment is unchanged, it just runs faster; and
taking a backup of the s/w development VM is a piece of cake - I can copy it to a backup NAS any time in only a few minutes.
The only downside is that performance is not as good as native. However, performance is very good indeed when my host machine is an 8 core Xeon with 8 GB of RAM. I allocate the VM about 2 GB of RAM, and let it see 4 cores for execution, and performance is a dream. So whilst it might not be as good as native, its so good that I really don't care about the difference.
Given a choice, I'd do all s/w development in a VM - always.