How much vRAM have you given the Solaris VM. The more the better. Do you have any idea how big your "working set" is. An example is a Win7 VM, thats 40GB on disk. So the working set could be as much as 40GB to be cached in full. WinXP is merely 8.
Add more RAM. 10x if you can. 16GB just isn't enough.
If thats not a complete enough of an answer keep reading. I have spent tens of thousands wading through the morass of poor zfs performance regarding ESXi that I finally get it.
Add more RAM. As much as you can possibly squeeze into...