As so often, the only "correct" answer is "It depends".
It depends entirely on your workload characteristics and physical hardware. There is no easy rule of thumb that can be even remotely considered accurate.
Generally, light consolidation and "normal" VDI environments on modern CPUs should yield you something around 4-8 vCPUs per physical core. With Xeon CPUs with HT you can go beyond that too.
Some other CPU-intensive and real-time workloads might end up suffering from a host running more vCPUs than physically available cores/threads.