I like to have a little local money before I get there, so that I'm not forced to look for money in the airport. My bank, Bank of America, did it easily for me, and at a reasonable rate. Once there, I always use ATMs -- they are everywhere and the exchange is favorable. Just be sure to call the bank ahead of time to let them know where you will be using the card so that it doesn't come up as fraud (do this for any credit card you plan to use as well). If you don't want to use ATMs, you can always bring US dollars and exchange them on the ship, or find an exchange bureau, but seriously I find the ATMs to be the best.
To get a little money ahead of time, if your bank really won't help you, you can go online and American Express and Travelex both will ship euros to you. The exchange rate is poor, but if you are only using it to have a little money when you get there, it's probably worth it for peace of mind.