As @JasonMcD mentioned in the comments, it really depends on what the VMs are doing. You also have to consider what the host system is doing and identify sources of contention.
If the VM is heavily accessing disks, causing the host system to compete for disk I/O, a good idea is to install a second physical disk and place the VM's virtual disks on that, leaving the original drive for the host OS all to itself (alternatively, dedicate the entire second disk to the VM.)
You'll see performance gains no matter what if you replace spinning disks with SSDs, of course.
Typically you'll dedicate a portion of RAM to a VM during setup. So if either the host or VM (or both) are running out of RAM for their tasks, more RAM is needed. You could try adjusting this value if, for example, the VM is underutilizing its RAM but the host system keeps running out.
More RAM is typically better for any system that's decently used, VM or no, because it allows modern operating systems to cache and schedule I/O better.
If you want a quick solution without analysis, you're most likely going to see the greatest performance increase by switching to SSDs unless you have systems or VMs which are having serious memory issues with the applications they run. This is because modern OSes page out things to disk that either overflow RAM or aren't used in a while, and SSDs increase the speed of this process substantially.
CAD programs are heavy on both disk I/O and RAM so it's really hard to say in your situation for sure without testing and knowing about your users workflows.