Just a few quick notes from what I can see in your screenshots:
- press Shift-v to exclude host processes from the esxtop list so you only see VM-metrics and post some screenshots again
- check (advanced) performance graphs from the vSphere Client for a historical view on metrics like swapping, ballooning, CPU %RDY or disk latency
- from the esxtop CPU screenshot, ready-times don't seem to be your issue
- from the esxtop memory screenshot, only one VM appears to be ballooning (as seen with MCTLSZ) and there is slight swapping going on (probably only one VM)
- check Duncan's compilation of important esxtop metrics here: http://www.yellow-bricks.com/esxtop/
From what I saw, I actually don't think CPU or memory is the problem. What's missing in the big picture are important storage-related metrics. Check latency metrics on your SAN or from esxtop/GUI graphs.
Also:
- consider upgrading to ESX(i) 4.1 (or ESXi5)
- Like already suggested, consider using newer hosts with Intel EPT/AMD RVI CPUs (e.g. Xeon 55xx). These provide memory assisted virtualization enhancements which can improve performance significantly.