PF's route-to functionality, employed by pfSense's multi-WAN capabilities, will force all traffic matching a firewall rule specifying a gateway out to the specified gateway. Negation rules are automatically added for VPN subnets, but where other internal subnets are on the firewall, or you need to access a pfSense interface IP (for services such as DNS) you need to add a rule specifying the default gateway for traffic to be routed appropriately to these networks.
An example:
In Firewall > Rules, on the LAN Tab, create this as the topmost rule, or at least above all other load balancing rules:
Proto: * Source: * Port: * Destination: 192.168.1.0/24 (LAN Subnet) Port: * Gateway: *
The destination could also be an Alias containing all local networks, if there are more.
Originally from John Grange (JohnAtNetS) on IRC