I did like some features of IOS 4.x, but holy cow did it slow down my 3G. It became intolerable. 15 seconds to open the messages app (I timed it!) Another 5 seconds to start a new message. That’s an eternity.
So I downgraded my iPhone 3G to the 3.1 software version and viola! It’s like new again. And yes, I restored the phone, reset the thing, etc — tried all the tricks before the downgrade – no luck.
So if you haven’t upgraded — I suggest you don’t if you have a 3G! The 3Gs and, of course, the iPhone 4 will probably be OK.