The 3 ghz clock applies only to parts of the processor die. And not the entire thing at that.
The PCIe clock rate is by default 100mhz. Engineering motherboard traces to do much more than that is a real pain because noise becomes a problem. Incidentally, dealing with noise is a large part of why PCIe uses multiple serial connections rather than one large parallel connection to increase bandwidth. Still, there's a physical limit to how many traces you can put on the motherboard.
PCIe is pretty damn fast, but there's a lot of overhead and lag to getting data from main memory out to the card and back. Once you set up the transfer though, it's fast. The problem for a lot of software developers is redesigning your software to deal with that lag.