I am still setting up our pfSense at the moment and still learning. But I would assume, that as long as the switches can handle the VLAN traffic, you just need to set up the right routing rules in pfSense to cope with it.
Ours is cleanly routing our VLAN traffic internally at the moment, but we haven't rolled out pfSense to the remote site yet, so I can't test sending subnets / VLAN traffic over the VPN connection.
OpenVPN is very easy to configure. I am currently configuring just client VPN access and, apart from a wierd certificate problem (see separate thread), it is very easy to configure and with the add-on for generating pre-configured packets, it is very easy to set up the VPN tunnel on the clients.