PFSense was the bane of my existence for a time, I regret ever installing it in the handful of businesses I put it in. When it'd fall over (usually from the 2nd WAN port disappearing after a reboot), I'd have to drive out and swap in another router while debugging it. Minor, custom changes to prevent PFSense from blocking boot due to a USB ethernet interface disappearing? Overwritten on upgrade without warning.
They also have recently made it a PITA to use PFSense with IPTV, as UDP Multicast forwarding has been deprecated w/o warning. Like everything with PFSense, it just disappeared one update without so much as a warning :P
I have a friend who uses Debian as his core router, its not bad. I've gone to OpenWRT since its got the fit and finish, plus it will boot and be debugable no matter what happens.