Hello Paul2015, welcome to LQ!
I'm not an expert on pfSense in prod environments, but I have it running at home in a VM on an ESXi server I built and it is fantastic. The level of network control it gives me is amazing, and the performance is also excellent. It provides 3 isolated subnets and keeps my servers segregated from my testing environment and LAN. I replaced a $300 Modem/router from Time Warner Cable with my pfSense VM on excellent hardware and I couldn't be happier. It increased my intranet speed by 10x (12MB/s to 120MB/s limited by the drives) and usually runs with very little resource usage. *Disclaimer, I am NOT running it in a prod environment, but my friends and family are harder on my home network than an office full of business connections, barring 150 video conferences at once.
pfSense also has all of the options that you mentioned: supports load-balancing on multiple WAN interfaces with interface weighting options and allows fine-grained control of all network environmental access. Addon packages for pfSense will give you IDS and proxy capabilities too. Since you're talking about running a virtual pfSense I'd like to point out that you might be saving yourself quite a bit of time if something goes wrong by having quick backups of your VM in place. pfSense is running in a 6GB VM for me and I can restore it from a backup in about a minute.
A few other notes: you're going to see unSpawn everywhere, and he's usually right.
Cisco and Juniper are industry leading for a reason. Buying a subscription product might cost more up front and every month, but you have to weigh that against how many outages you want to survive on your own. You're not always paying for a better product, sometimes you're paying for hand-holding and it's totally worth it. I would NOT have jumped into pfSense if I had to configure it for the first time for my business by myself.
Lastly: if you install it in a VM at least be aware that some people consider that an increased attack surface. If you use ESXi you should do some simple research to move your hypervisor management network off the network(s) you're using for business traffic. I have mine completely isolated on a separate network (separate interface, vswitch, and cord) so that it's unexposed. The issue there is where you can manage it from, I took the hit and have to manage it locally. That's overkill and you can have reasonably secure setups that aren't as extreme. I realize I just threw a lot of points at you with little detail but I don't usually get to contribute here and pfSense on ESXi is the one thing I can usually begin to answer. I'd love to help if I can!
I used Vyatta for six seconds in college, didn't even finish installing it before someone else took over. So... I can tell you it definitely exists