Interesting, my 3G had the exact same problems as you (just froze and didn't respond to anything for like minutes at a time) with OS 3. But the problems have gotten a lot less frequent with OS 4 for me.
I read somewhere that upgrading a 3G from OS 2.x to one of the OS 3.0 betas and then to OS 3.0 final, without doing a full reset somewhere in between would cause this problem. OS 3.0 was sluggish as hell for me until OS 4.0 beta came out and I did a full reset. I'd get random pauses and freezes just like others here are reporting. After the full reset, the 3G was running smoothly again. I just upgraded to 4.0 final and it is smooth too.
A full reset kind of sucks. We're not talking a restore here. Just start from scratch. With the exception of one or two apps though, my data was in the cloud so it was largely painless to get everything back in sync.