Juniper has always used a (heavily hacked) FreeBSD core running on an embedded PC platform (Intel-based Routing Engine) for JUNOS that did all (or most) of the protocol related stuff and left the actual forwarding of packets to a specialized core of ASICs (The Packet Forwarding Engine).
This has changed in recent years with some lower-level protocols being handled on the line-cards themselves on newer platforms. The vast majority of the protocols still run on the Routing Engine though.
TBH, it's not really the limiting factor. The interconnect between the RE and PFE is something like 100mbps.
I've been building my own managed firewall and router systems for awhile on commodity hardware, freebsd, and nice nics and would like to look into taking it to the next level and perhaps starting a business in this area.
So go check out what these 2 companies have in terms of switch on a chip type ASICs. AFAIK no one has come out with a multiport PCIx card that can do L3 switching between its ports. That would be neat. And I think it's just a matter of time till someone does. I would buy such a card if it worked under Linux or FreeBSD just to play with.