Hi,
i perfer:
allways raw for HD (local and of course inside lvm).
e1000 for win-network
virtio-net for linux-network
virtio-io for win/linux guest (mostly - sometimes ide)
most stable: use ide for block and e1000 for the network. if you assign more than one cpu I recommend to use the 2.6.35 Kernel branch. using the latest virtio is an option but not always better.
And use raw or even better, directly block devices (or LVM).