I have this 2 CPU server (2x4 = 8 cores in total) in which I plan to put a single W2012 virtual machine.
Is it a good idea to configure 8 vCPU for the VM or should I leave spare cores to relief virtualization overhead?
I found this post to be a great summary of vCPU assignment and resource consumption on VMware (and to a lesser extent, HyperV).
I wouldn't assign more than 6 of the 8 available cores; if you are needing more resources than that you should either move to a quad-processor server (or one with a bigger number of cores / pCPU), or as @ewwhite suggested, nix VMware and install directly on the hardware (assuming you're not using vmware as a shim to enable high availability, etc).
As I see it, there are basically two possibilities:
1) Your VM needs 8 CPUs. In that case I wouldn't deploy it on a machine with 8 physical cores. Well, if your CPUs have HT we're talking about 16 virtual Cores. Depending on your workload this might work but I probably wouldn't risk it.
2) Your VM doesn't need 8 CPUs... so why give it so many?