I know it's hard, but NOW you should wait. I could get a new phone from my provider since February and still wait for the iPhone 5. My 3g is so slow, sometimes not even usable...
Btw, when I bought the 3g, the 3gs was already out but not available for 1 month so i decided to buy the older one for less money. Maybe the iPhone 4 is good for now, even when the 5 comes out. But in a couple of months everything could change.