The XEtrade (www.xe.com/fx) option seems like the best, and safest, if your rental agencies will accept Euro bank drafts. Their exchange rates are only about 2 or 3 cents higher than the interbank rate.
It does, however, take some paperwork to open an account, and to start, they only give you a trading limit of 1,000 Canadian Dollars, although you can put in a request for a higher limit. That means that you can only request drafts totaling 1,000 Canadian each time you buy Euros. You have to wait a few days until your request is processed and the money taken from your bank account before being able to request more drafts.
The option of buying Euros here, from a bank like Bank of America, before you leave, is expensive. Their rate will be probably eight to ten above the interbank rate. That's a lot more than the rate you will get from an ATM in Europe, plus you have the risk of carrying a lot of cash around with you.
Another option, if you have the time, is to open an account at a European bank, then withdraw money, or get a bank draft, when you arrive. Some European banks, such as Citibank, and I believe HSBC, will open accounts for non-residents.
Everbank in St. Louis sells Euros cheap, and you can open a Euros account with them for a minimum deposit of $2,500. That is the cheapest way to buy Euros here, but then you need some way to withdraw the Euros, since EverBank is only in the U.S. and doesn't deal in cash foreign currencies. They will, however, wire the Euros for free to your European bank account. Like, Citibank in London will open Euro accounts for non-residents, by mail. Again, the application process is a little complicated.
The "catch," however, in your case, is that Citibank does not have offices in Italy or France -- only in Germany, Belgium, and Spain. So, you would have to find a bank in France of Italy that will open an account for a non-resident.