I have not used Virtual PC, but have extensive experience with Vmware Virtual Infrastructure and their free Server product.
I find cpu and memory management is usually very good, but there can be big bottlenecks with disk and network IO. I have tested running database servers as virtual machines, and always ended up having to give up on the idea. Also context switching has been a bottleneck on VMware up till their latest ESX server products, I would not be suprised if it causes problems on virtual pc.
You can get the best results from virtualisation by combining servers that use up different resources, for example one is heavy on cpu, another is fairly heavy on disk IO and another is fairly heavy on network IO (heavy and fairly heavy of course is a flexible concept...). Even machines with high CPU usage are not a problem as long as the CPU usage is sporadic and not dependant on each other (for example running a distributed system with all virtuals on the same host, and all start loading each other might not be a good idea). In regards to CPU it's good to allocate them in a way that no single virtual (or several which are tied to one system) have all of the hosts cpu's allocated. This way no system can take up all CPU resources in case of congestion.