The right way to do it is to install something like inSSIDer and make a judgement based on the channel and signal power of any neighbouring access points. Usually just getting off channel 6 onto 1 or 11 will make enough of a difference.
The basic problem is that the channels are only 5MHz apart and you need 20MHz of bandwidth for the wireless (plus another 5MHz each side for channel separation). For example picking channel 9 will have an impact on channels 6 thru 12.
There are also other nasties like routers that'll allow a forced 40MHz channel even when they shouldn't, and people boosting the power beyond what's allowed. It all pollutes the wireless neighbourhood.
I use inSSIDer quite often at work, quite handy.
If I was to guess why changing to channel 9 for example would immediately improve link speed/bandwidth (which it has done on many occasions), I'd say it's because without any other networks on channel 9, the peak of the bandwidth curve isn't overlapping with anything, only the 'edges' if you like.
Changed a router to channel 9 today from channel 1, speeds improved from 8mbps to 17mbps, 20 on a wire. As long as nobody else moves to channel 9, that router will give good speeds. All the networks sharing the same channels will still have issues from what I've seen.