Virgin charges a flat £5/MB wherever you travel to, though it also offers "travel passes" for use in Europe. You can buy an hour's access for £4, or a day's for £6. These give you 3MB and 5MB of data, respectively.
Mobile broadband users can buy one-, three-, seven- or 30-day passes for £10, £15, £30 and £60, respectively. The data cap is calculated on a 1MB:£1 ratio - so the £60 pass gets you 60MB of data, for example.
More Info Virgin Mobile
Vodafone charges £1/MB for the the first 5MB, then £5 for every 5MB after that. That's for Europe - in other countries the rates run to £3 and £15, respectively. As you near every 5MB, Vodafone will tell you so by text.
Vodafone only limits spending in Europe, capping the price at around £50 - 50MB in total. It will alert you when you reach £25, £39 and £49. After hitting the last of these, you won't be able to use any more data services that month.
For mobile broadband, you pay £10 a day in Europe, rising to £30 elsewhere, for 50MB of data.
More Info Vodafone
Euro Roaming Best Buys
Vodafone's £1 per megabyte tariff is the best among the networks who bill directly for the data you use. However, it's still pricey compared to T-Mobile's bundle deals, which give you 50MB of data for just a tenner and are available to both PAYG customers and those on contracts. ®
What about texts?
At a rate of around 10p per 160 character SMS from continental Europe to UK, the equivalent data rate would be 64Kp per MB (where 1 MB == 1024 * 1024, and 64 Kp == £655.36).
There will no doubt be some argument from people who know more than I do that there is a routing overhead for SMS that doesn't exist for the data frames, but it seems pointless to complain about a £1/MB data rate when SMS is the equivalent of 600x more.
I only rant about this as O2 recently dropped their 1 SMS abroad == 4 SMS from your allowance rule, that used to give me free unlimited SMS from France, to join the snivelling ranks of all the other networks that charge between 10p and 18p per SMS.
What the EU needs to do is regulate the cost per GB, not the maximum tariff. This gets rid of nasty surprises, but doesn't get rid of the root of the problem. They've done it with voice calls and texts, so why can't they do it with data?
The main problem is that the network in the country you're in sets the prices. The EU now dictates a maximum amount that a network can charge roaming phones for voice calls and texts. However, they don't dictate anything for data. There's absolutely no incentive for a network to reduce charges to roaming phones, because the people who get charged more aren't their customers. AFAIK, the UK networks make very little or no profit on data usage (or other usage) in the EU, simply because they have to pay the receiving network so much.
What we need is a logical cap on data charges. Obviously you should expect to pay slightly more while roaming, but it shouldn't be more than double what you pay at home. A lot of the networks in the EU are the same companies as the networks in the UK, so there's very little but profit stopping this happening.
Colour me ambivalent.
Initially when I received the message "For data roaming please buy a topup" I had visions of having to register my credit card or mess around with the T-Mobile website to pay £50 for 10MB of data but, thankfully, I was pleasantly surprised to find a painless procedure to add £10 to my phone bill and get as much data allowance as I needed to check email and do a little light browsing. So, in all, much better than a previous trip where I returned to a £100 bill because I used data at £7.50/Mb (T-Mobile's listed it in Mb) -- I should point out I knew what I was doing and thought it a necessary evil.
However, when you think about it the situation is still terrible -- mobile data roaming should be included in your UK allowance. After all, it's the same network you're using.