Could you be any more vague? As you're 'sort of getting into VM stuff' perhaps you could tell us what barriers you're hitting? You infer it's CPU, but provide no information or context on the kinds of loading and with such a limited amount of RAM at this point it seems likely that's the first issue. Also 'plex and all' isn't helping. Plex can run on a Pi2 if it doesn't need to transcode, if it does need to transcode then generally that's a poor choice encoding media or a poor choice of client/connectivity. The exceptions are audio - some of us have AMP's that can decode and use more exotic audio formats that normal clients need transcoding - and remote users who may for example be hardware or bandwidth constrained. Also big difference between Plex and Plex/SAB/SONARR/RADARR running without any sort of tuning from the same mechanical pool as Plex with a fast connection while it's trying to transcode.
Start by telling us what you're trying to do/run, explain if you have VM's doing a specific task that is for example IO heavy or CPU heavy, explain what other services you are running and explain if Plex is having to do concurrent transcodes and why. It could be - and probably is - as simple as you need to tweak what you have, the memory upgrade will likely make life a lot easier if you are running VM's, or it may make more sense to move certain VM's or Plex to more suitable hardware. Either way it shouldn't cost £1500.
Start by telling us what you're trying to do/run, explain if you have VM's doing a specific task that is for example IO heavy or CPU heavy, explain what other services you are running and explain if Plex is having to do concurrent transcodes and why. It could be - and probably is - as simple as you need to tweak what you have, the memory upgrade will likely make life a lot easier if you are running VM's, or it may make more sense to move certain VM's or Plex to more suitable hardware. Either way it shouldn't cost £1500.