@ktims:
You really can't make this claim without knowing the traffic profile. I'd be surprised if your proposed box could even route/firewall 100mbps of small packets across a large number of short-lived TCP sessions. pps is far more relevant than mbps, and you'll need pretty serious hardware to get to 1Gbps of 64-byte packets in pfSense. Not that that's a typical traffic profile, but making blanket claims like this is dangerous.
ktims and kc8apf pretty much spot on; it's PPS not Mbps. That FreeBSD has always been the PPS king doesn't hurt. It does not take a great deal of hardware to break 1M PPS - a single Xeon X5420 (2.5GHz Quad Core) is easily sufficient for >1M PPS at 64-byte size on 7.2, with mild tuning, on a broken driver.
Snort can use a lot of memory - yep. But 64-bit is not necessary with PAE. Yes, it will require a custom pfSense build; PAE is not enabled in GENERIC. PAE also has very strict driver restrictions, not all drivers work with >4GB. But for large memory requirements, it's the least disruptive option.
So the OP needs to answer two questions before we could make reasonable recommendations. First, we need to know the average and peak PPS rates. Second, we need to know how many connections per second snort needs to deal with. Those are the two primary consumers of CPU. Past that, it's just going to be tuning and a custom pfSense build with PAE enabled. Honestly, 64GB is likely overkill, but 4GB is also not going to be enough.