I just saw this shared on the Educause wireless list, and though it might be of some use here:
http://support.apple.com/en-us/HT6463
The part I found most interesting was that the devices will use different RSSI thresholds for roaming based on whether or not it is actively transmitting data. It specifically calls out siting idle in someone's pocket as a scenario where it would be less likely to roam as compared with actively browsing the web. This sounds to me like there's a good chance that upon taking your iPhone out and starting to use it, the first thing it will immediately do is roam to another AP. Not a very user friendly design choice, in my opinion.