I have found that credit cards and ATM withdrawals give the best exchange rates.

In the UK, some ATM machines had no fee - others about $1.50 or so per withdrawal (not sure about Spain) -- so take out a lot at a time.

Some credit cards have a surcharge for overseas use -- my Chase card did, but but my MBNA card did not, so I used it excludively in Europe (but took the other card as an emergency backup).

I agree that you should let the card issuers know about your travel plans in advance - they put a notation in your record, so they don't view the overseas charges with suspicion.

Also, write down your card numbers and the emergency phone numbers for each card in case you lose them.