Coherence is supported within virtual machine environments, and there should see no functional differences between running it there or in a non-virtualized OS.
Using virtualization adds another layer to your network topology, and like all other layers it must be properly configured to support multicast networking.
It is less likely that a process running in a virtualized OS will be able to fully utilize gigabit ethernet. This is not specific to Coherence, and will be visible most network intensive virtualized applications.
See the following VMWare article covering their network performance as compared to non-virtualized OSs.
From a Coherence fault tolerance perspective there is more configuration which
needs to occur in order to ensure that cache entry
backups reside on physically
separate hardware. Manual machine identity needs to be configured so that Coherence
can ensure that backups are not inadvertently stored on the same physical machine
as the primary. This can be configured via the machine-id element within the
operational configuration file. See the unicast-listener
configuration section for details.