Warning: I’m not sure if this is replicable, follow suit at your own risk!
1. Google for: iTunes 10.5 beta 3, iOS 5 beta 3 for iPhone4 (make sure you get the right version for the right model) My experience is most direct download links don’t work. Try BT.
2. Install iTunes 10.5 beta 3.
3. Backup your iPhone!
4. Connect iPhone 4 to iTunes, option+restore and open iOS 5 beta 3. (My first attempt was to option+"check for update" but it only lead to “error 3002″. Then I tried to “restore" to iOS 5 beta 3 in Xcode. Software extraction on iPhone went through but then it got stuck. Eventually I went back to iTunes and option+restore, then it worked! Phew~)
4. Let iTunes restore your phone. Once it’s done, you’ll see your phone running again and greet you with “slide to set up" screen. Follow on-screen instructions. When it asks you whether you want to backup from iCloud or backup from iTunes, choose iTunes (remember: you haven’t got anything up in iCloud yet!). Let it run.
* I use MobileMe to sync my contacts, calendars and mail (plus notes and bookmarks etc). It turns out that MobileMe setting was not restored in iPhone Settings. So I had to go into Setting > Mail, Contacts, Calendars and set up my MobileMe and Google accounts again. All other data e.g. game, SMS etc were restored perfectly.
**When setting up the “new" iPhone, it’ll ask you whether you want to enable iCloud sync. I chose to enable it with one of my Apple IDs. Once I’ve entered my Apple ID, it started syncing apps and music. Turns out I have 2xx apps and 1298 songs to sync, which has taken me an hour now and it’s still syncing…! But then since it’s syncing OTA, I can still use my phone to iMessage my friends (yay! iMessage! no more SMS) and play a few games!
***After “restoring" iOS 5 through Xcode, iTunes popped up a waning saying it detected a phone in DFU mode and required me to hit restore. After hitting restore (without pressing option), however, it soon popped up another warning: Error 1600. My phone was bricked, turned into an expensive paperweight. Tried a few more times…all failed. I finally realized that I should press option + restore. Lots of cells died during the process…!