My experience:
I started by backing up the Iphone completely. It took quite some time before itunes reported everything was ok, and I could disconnect.
I then installed the new OS version, and then restored from the backup. Everything (including photos, sms) were exactly as before.
Using IOS4 I think it performs much better (GUI more responsive). The battery life is same as before - or perhaps even slightly better.
However, I have encountered one extremely annoying bug: The exchange calendar synchronization is no longer working properly. My phone decided to remove a couple of existing meeting. New meetings doesn't always appear on the phone. Let's hope IOS4.01 takes care of this one.