As Nate mentioned, as long as your VM will mostly serve running a single-threaded process, there is little reason to allocate more than one core.
However, if you plan to use it in a way that can benefit from more cores (multi-threaded program, many parallel programs, ..), the story is more complicated.
I previously assumed that using half of your CPU's for your VM was a good idea. Turns out this is not always optimal.
The only way to make sure is to run benchmarks.. I don't know why, but in my Core2 Quad system (which has VT-x support, nested paging, ..), actually using 1 out of the 4 cores performs better than using 2 or more cores! I see this simply in start-up times of the VM, but also during compilation benchmarks.
With other hardware results are different. I also have an i7 with 8 cores, and performance seems to scale much better with the number of cores there (using 4 there happily).
My tip: benchmark a new hardware first.