Depends on what you want, what you're willing to pay each month, what you're willing to pay up-front, & of course who gives you the best reception.
Unless the tariffs have changed significantly since the launch...
Tesco: Excellent deals. Higher up-front cost, but the lowest total cost of ownership over the length of the contract. Uses O2's network.
O2: Pretty good. Better IMO than Orange's prices.
Vodafone: Almost identical to O2's prices, but with 1GB data instead of 500MB.
3: Good deals, but you can only get a 24 month contract.
Orange: Nothing special.
T-Mobile: Crappy tariffs & prices. IMO, of course.
Have a look at this:
http://www.moneysavingexpert.com/deals/cheap-iphone