I wont be getting one because the way I see it is I am not paying extra to get out of my contract for the 3G, so I could wait but then I will be stuck with the same problem next year, I would personally rather wait another year with the software features of the 3G + 3.0 than get stuck with a 3GS which will be superseded next year by something most likely far far better.
I think Apple/O2 have shot them selves in the foot this time because the product release cycle of Apple products is 1 year and O2's contracts are 18 months, they have led people to believe that they will be able to upgrade each year, I don't plan on doing that so I will just wait, they loose out not me as I will get an extra special upgrade in a years time with the 3GS + iPhone 4G features.