Multiple work environments - sandboxing or virtualization?

I want to ditch windows for good. That introduces some challenges. One of those cough me by surprise: Desktop virtualization.
I’m freelancing for several companies, and traveling a lot. This means I need to keep data separated and I need several vpn connections. The challenge is to keep the data separated through networking. In windows I’ve solved this by running virtualbox with one vm for each company. Each of those vm’s are setup with static IPs, not in the same subnet, and connected to a virtualbox network bridge. The host is then connected to a router that has all the VPNs set up, and makes sure each VM (based on ip) is routed via the correct vpn. So, I was thinking that by using linux as host I could do the routing and vpn handling on the host and no more need to bring the router around. I got it working - sort of.

The problem is, it’s impossible to do desktop work efficiently in a virtualbox vm running on linux! The biggest issue is that scrolling by touchpad inside the vm is random. This seems have been an issue for years on linux and there is no solution available. So, what are the options?

Some thoughts:

  • Maybe another DE solves the problem? I’ve tried Manjaro XFCE and Kali Gnome guests. Both have the same issue.
  • Maybe another virtualizer will help? When googling this issue I got more hits regarding VMware and KVM than virtualbox, even when including the word “virtualbox”. None of them had any solution.
  • Could sandboxing be a way to go? Does any sandboxing solutions offer the opportunity to route their apps networking into different VPNs (probably by using linux bridge interfaces)?