So far I have only SEEN pfSense working great on videos and demonstrations at the local college. Before I spend anything on physical hardware I am trying to set something up real quick in Virtualbox. Just as a proof of concept. pfSense is installed, can ping the physical router, the host machine can ping pfSense, other devices on the network can ping pfSense. The Virtual Machines are receiving an address via DHCP. Everything should be working the way it is intended to. It isn't.
At this point, I have the firewall disabled, I'm just trying to get it working.
One minute, I am able to ping "google.com" from the pfSense console, then if I try it immediately after, I'm not able to. It becomes available again whenever it "wants" to (i.e., in five minutes, I'll be able to ping the outside world again). However, with each ping, it does in fact resolve the IP address via DNS, however, no pinging. This is true regardless of what domain I attempt to ping.
PING google.com (18.104.22.168) from 192.168.2.1: 56 data bytes
–- google.com ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
It sounds like you have a race condition. Something basic: did you shutdown your existing non-pfsense router? It sounds like pfSense and some other device are competing, each getting a DHCP address from your ISP in turn (ie, your ISP only allows one active device at a time, the last one that renewed the IP).