It probably has to do with distance from the router. I've noticed this as well, but was able to fix it by moving a few metres closer.
I'm guessing that the game is VERY fussy about signal quality, because of the horrible things that could happen to the pokémon if discinnected at the wrong point. That means, for example, you would expect to have to be closer to the router than you would have to be for something like Mariokart DS.
Could also be a problem with server lag - your wireless link might be fine but if the internet is sluggish, the game will likely not allow transfer, or packet loss might just make it useless.