The virtual networking switch/stack will take care of tagging. But arguably pointless if you're doing everything internally.
A virtual switch will segregate all your traffic on that switch. Guests with nics on that vswitch, like a real switch, can only communicate with other devices on that vswitch. If you're using this exclusively for internal networking, then there is no benefit from using a vlan.
When you add a physical nic to the switch, vlan becomes useful, any traffic that goes out that nic will be tagged/detagged as appropriate.
You can influence this though, if you don't want the vswitch to detag your traffic and want to leave that to the guest to do, then set your vswitch to use a vlan of 4095, which essentially makes your vswitch a "trunk" and it will capture all traffic sent to it.
You have two real options with pfsense. Either set it up on a trunk connection and setup the vlan's in pfsense, or setup vswitches for each vlan and create corresponding nics at the guest level. The end result is the same, it's just a preference on how you want to manage it. Personally, I use a combination because I can't make up my mind which I prefer! :smileyhappy: