Ignore the Brits -- they'd argue over a fly going up a wall!! :-) Seeing as how you're going to Spain and Italy, unless you speak their language, it has to be a lot easier to buy your Euros in the US. You'll get a lousy deal regardless of which way you go -- dollars aren't worth squat at the moment. Don't bother buying £ sterling, the Spaniards and Italians won't want it.
It really depends on what you want to do. We did the Med on the Legend of the seas a few years back and paid for our excursions on the shipboard account. So the only cash we needed was for once we got ashore for beers, coffees etc, we paid by CC for souveniers etc, Being from the UK we changed £ sterling on the ship into euros but the rate wasnt great, having said that we found we didnt have to change that much.
Since the euro has been introduced we have found that prices have gone up too. expect to pay between 2 & 3 euros for a coffee and about 5 to 6 euros for a spirit with a mixer.
If you are taking cash or valuables ashore take the normal precautions as you would in any city and be particularly aware of young children around the colluseum in Rome, they are most accomplished pick pockets.
On board everything on your shipboard account is priced in US dollars
Hope you have a great time
We're coming the opposite way and doing back to back on the Navigator in Nov. Weve already bought our US dollars while the goings good,