Just out of curiosity, what speedtest are you using? I've just started using »www.measurementlab.net/run-ndt
which seems to be quite good, can give you some useful info. What errors are you getting? Does anything pop up in the console logs on the router?
You're doing a lot with that router so it could be that it's CPU is maxed. As I said, ours will top out at ~30Mbps downstream just doing NAT - no ZBF at the moment. If it's gotta inspect all the packets coming in as well, I'd expect that to add more load. Try a
sh proc cpu history
and see what the cpu loads are like. Though, saying that, I'd expect it to just get slower rather than cause a connection to drop if the cpu load was causing the problem..