Wait until July.
No matter when you buy euros, you won't get the exchange rate you see in the newspaper or currency exchange websites like xe.com. You'll pay a little more. The rates on xe.com and others are reserved for brokerage houses where millions of dollars are exchanged daily.
Before we left for Europe recently, I went to our local American Express office for some euros. They charge a flat $3 fee. Save the receipt. If you have extra euros, they'll exchange them without the fee. Check with your bank as well. You won't regret having a 100 euros with you when you arrive.
There is a minimum of 1% conversion fee by VISA for overseas charges - there is no way to get around it. Depending on which Visa credit card you have, you may have additional surcharges. I know Capital One doesn't have any additional charges.
The best exchange rate you will get in Italy or any European country is to use your Visa/debit card for atm cash withdrawls and your credit card for major purchases/dinners...
Check with your bank to see if they have any atm access fees overseas, in addition to the ones you may be charged by the atms there.
Make sure you have a 4 digit pin number.
Notify your bank and credit card co's. of your intended trip so they don't freeze your account for suspected theft.
All money withdrawn from the atm is from your checking account.