Running it as VM has loads of advantages, one less equipment - means less power consumption as well
Two since I run development code of pfsense, I just take a snapshot before I do an update if something doesn't work in the update or fails, click back to my stable setup. This advantage would be there if not running development as well for when you update, but I update every few days to a couple of weeks whenever I see a new snapshot from pfsense that makes sense to go too or its been a few weeks. Currently there is issue with renewing your IPv6 address, so been updating every few days hoping for a fix, etc. It is not renewing, so you have to turn it off and grab a new one - which changes the PD your getting, so annoying when your IP range keeps changing, etc.
Three - since its VM, I can swap out any firewall distro I want very quickly never having to touch a wire. And if I setup the same mac on the different VM, I don't even have to reboot my modem, and maintain my public IP as the same, etc. So I can try out smoothwall if I want, untangle, or m0nowall, etc. etc. Or drop back to stable 2.0.2 version of pfsense if need to test something for someone, etc.
Unless your setup required too much horse power at your router/gateway for VM to make sense I don't think I will ever go back to a dedicated box for my gateway.