In theory the application wont even know its on a VM, but i definitely wouldn't try to share the host with other VMs since it is so resource hungry. With many tier-1 apps this is what you do, dedicate the entire host(s). This way you get most of the advantages of Virtualization, but don't lose any performance.
My Dev/Training VM is also running SQL on the same VM ( i would move it off, but this was before i found out that its nearly impossible to move SQL after the portal is installed ), but IIS sucks the life out of it while in use. Even seemingly simple tasks like removing the default group on the assignment page will peg the CPUs for a second. ( Add more users and it extends longer, or will even error out )