I posted this in the Xbox Live section before noticing that many people complained about it here as well; below are my recommendations for ways to improve connectivity that has greatly helped me.
Yes, there are connection problems with COD3 online matches; while I hope there is some sort of magic update released that fixes this, there are ways around it in the meantime. I personally am able to get into either Player or Ranked matches without great difficulty.
I imagine those encountering problems are behind a router; first thing to do is to test your connection through the 360 dashboard. The thing to look for is what NAT response you get. You are going to have heaps of problems connecting to games (Player/Ranked) if you get a response other than 'Open.' Common responses are either 'Moderate' or 'Strict,' which basically means that it will be difficult to connect to all players. You *must* be able to connect to all players in order to play online, as was the case with those who played COD2: Big Red One through non-Xbox live entities like Kai, etc.
To remedy this, you can either DMZ your 360 on your router (before doing this I would suggest setting up a static IP for your 360) or you can forward the following ports to your 360's IP (again, static IP is encouraged):
After either DMZ'ing your 360 or forwarding those ports, test your connection again. Hopefully your NAT response will now be 'Open' and you'll have an easier time connecting to games.
For Ranked matches, BE PATIENT! Do not choose 'Quick Match,' instead choose a Custom gametype (I usually choose War, though it won't always plop you in a game of War). You will then be dropped into seemingly an empty lobby, this is where patience is important. Sometimes you might get lucky and get dropped right into a game, other times I've waited for as much as 5 minutes or so. After making the router adjustments though my average wait time is 30 seconds to 2 minutes or so.
Hope this helps!
Also, check out the Xbox support site for more help with connectivity issues: