I’ve lived in Spain for some years and last visited Jan-March. This is my 2 cents piece of advice:
Barcelona is wonderful and a must for American tourists. Of the two biggest cities, I prefer Madrid, but in general weather is better in Barcelona. Madrid has two periods which are enjoyable: October and March, give or take a week or two. Winter is cold and being at a fairly high altitude (2000 ft) the air is dry and a bit harsh, Summer in Madrid is just horrible. All madrileños that can, leave.
However, and it’s been a while since I was in Barcelona, I hear that it’s as infested with tourists as Venice and Dubrovnik. I’d go off season, maybe earlier in the year.
Seville is great, but even greater, on route there, is Cordoba.
Originally a mosque and now a cathedral, this is truly a wonder.
There’s high speed rail between Madrid and both Barcelona and Seville. Going to Granada is more of a schlepp, with slow trains: figure about six - eight hours Seville to Granada (which has a climate similar to Madrid)
Seeing Easter festivities might be something you’d enjoy (I do), or find appalling. Eight days of processions with smelly wax candles, drums, brass instruments, incense and maybe even self flagellants. Every town and city will have them to a larger or lesser extent. Easter week also marks the beginning of the high season with price hikes that are notable. Hotel rooms may double in price. Plan accordingly.
Contrary to popular belief, almost all hotels have AC nowadays, only the cheapest hostals may skimp.
Our travel dates are dictated by school breaks. So we are looking April 8 - 15, which includes Easter Sunday, unfortunately. December 17 - 23 is another option.
If you arrive Easter Sunday or the day after, you’ll miss all the festivities, which might be a blessing. Do check different accommodations on Booking/Expedia/Momondo. In Madrid, I would stay close to Puerta del Sol, which means everything will be on walking distance. Madrid has excellent public transportation. Take the metro from the airport. Taxis can get very expensive, when they smell Americanos and Dolares.
FWIW, nowadays taxis from the airport to the center of Madrid have a fixed price: €30. They cannot charge you any extra (unless you are going to the train station).
For other trajects, just make sure the driver switches on the taximeter.
Not anymore (it used to be like that): the fare to the airport is fixed at 30 Euros. I just paid that one month ago, and was quite pleasantly surprised.
ETA: Ninja’d by JoseB, so corroborating what he wrote.
We drove from Seville to Granada via the White Towns of Andalusia. As much as I enjoyed Seville and the Alhambra (and Barcelona), it was those towns; particularly Ronda, that I found the most enchanting. If you’re restricted to train travel, I would hesitate recommending the Alhambra as a side trip from Seville. And if it’s a choice between just Seville (and the immediate environs) and Barcelona, the latter has a lot more to offer.
Given your limited amount of time, I’d make Barcelona my base, with a possible side trip to Seville. In spite of its central location, Madrid has less to offer.
When I was there, I took a high-speed train from Seville to Barcelona, but they may have been disconnected.
The bus is often both cheaper and faster than the train in Spain. By bus, Seville to Granada is about three hours, with multiple departures throughout the day. See Wherever you want to go - Alsa for schedules.
So I think I have figured out an itinerary that works best for us. We would fly out on the afternoon of Easter Sunday and arrive Monday morning. Hotel prices drop considerably starting that day (thanks Charlie_Tan!)
A first draft:
Sunday, April 9 - Flight
Monday, April 10 - Wednesday, April 12 in Madrid
Thursday, April 13 - Day trip to either Segovia or Toledo
Friday, April 14 - Sunday, April 16 - Barcelona
Monday, April 17 - Flight home
That gives us 3 full days in Madrid, almost 3 days in Barcelona and 1 day trip.
Thoughts? I know some have mentioned spending more time in Barcelona.