Increase your queue lengths. They default to 50. I have my high bandwidth queues, like web browsing, in the 5,000 length range, or 2,500 for less bursty traffic, but I have 50mb.
I also use the "codel" queue management for each queue, except for queues that shouldn't drop packets. It drops packets based on time spent in queue with a target of 5ms or less. I don't know how PFSense has it implemented, but if it's implemented to spec, just set the length to something long enough and use codel.