Hi,
That's a very open-ended question without a clear answer. As always, it depends almost entirely on what exactly you're going to be doing, on your workload, on the OS your guests will be running, and a wide variety of other things.
For my part, speaking purely personally, I've found OpenVZ to offer excellent performance. It's a Linux-based container environment, where the host runs a modified kernel and the containers on the host depend on and inherit an instance of that modified kernel as their own. They therefore must be running Linux, but can be running a different Linux distribution from the host.
The very latest versions of OpenVZ allow for fully-isolated virtual machines, and so support running Windows guests too. Historically, it's been Linux-only however, with a separate and mostly architecturally unrelated Windows offering that's since been discontinued. There is a commercially supported version called Virtuozzo that comes with nice GUI management tools, with OpenVZ being the free and unsupported version. If you're familiar with Linux, think OpenVZ==CentOS and Virtuozzo==RHEL and you basically get the relationship between the two.
One thing I'm curious about: I'd been thinking about looking at SmartOS for some things myself. What do you mean when you say you need a remote OS for it ? As far as I understood things it's basically SunOS underneath, and boots off of a USB key and thereafter offers local utilities to download, install and manage images. External management systems like Chef, Puppet etc. are compatible with it, but are optional, as I understand things anyway.