After the rate at which you can generate hashes, what determines the rate at which you can send hashes to be checked?
I'm guessing connecting into a bigger pool would help spread your load?
The difficulty determines how many hashes it takes for you to produce a share. Most modern mining pools will raise the difficulty as your hash rate increases. The idea is to keep your share generation rate roughly constant, regardless of your hashing rate. This allows the mining pool to still accurately measure your hash rate, still collect an actual block should you find one, but not have to process an absurdly large number of shares. Even a small pool can handle a client with an extremely high hashing rate. It's not more difficult, so long as you aren't using obsolete protocols like "getwork".