Coming from what I know - because I own a 3GS - iOS 5 is great.
Also, coming from what I know, since I was forced to do Android dev work, is that, other than Nexus phones, the official upgrade path is non-existent. Of course, yes, there is always Cyanogenmod. Which would be fine; I'll even say that I would probably be happy with an Android, since I could do Cyanogen. However, a lot of these consumers couldn't even program a VCR, let alone install custom firmware. Most don't even know Cyanogen exists.
Android would be a lot more effective in the long-run if the Nexus phones were the only official models.