I did update my iphone 4 to 4.3.1 with itunes. You can have 2 options.
1 is online update which you just click on "UPDATE" button and let itunes download its firmware and do updates. This option may takes you up to 5 hours depends on your internet speed.
2 is offline update which you must first download the firmware into your PC/mac, then press SHIFT KEY + "UPDATE" button in itunes. It will then allows you to choose your firmware file to be update.
After update, I was surprised by error 1013. After search with google, got this link to redo fix it from getting error 1013.
http://www.yoursn0w.com/2011/03/27/fix-itunes-error-1013-when-updating-iphone-4-to-ios-4-3-1/At this point your phone is stuck on recovery mode. And itunes only allow you to restore instead of update. Restore is bad because it wipe out your data on the phone and setup it as a new phone.
What I did was, use RecBoot to kick the iphone out from recovery mode. After the phone reboots, it will starts installing 4.3.1 on the phone itself and then boot into usual usable mode with 4.3.1. This way all my apps data, contacts etc remains in the phone.
link to RecBoot :
http://jaxov.com/2010/05/recboot-iphone-recovery-mode