The fast trains, when available and taking a relatively geographically-direct route, are a lot faster than buses.  I'd want to take a train for all your destinations except in and out of Granada.  There are fast trains serving Granada, but they are not frequent, so it is possible you won't find them convenient.  The ALSA (and other) buses are a very comfortable alternative.
Many folks want to include Seville in their southern-Spain itinerary, and a bus is often used to link Granada and Seville because the rail line is far from a straight shot between those two cities.  Since Seville is not on your docket, I think you'll be able to manage the whole trip via train.
In case you are not aware, Toledo is on a spur line connected only to Madrid.  To get from Toledo to Cordoba, you'll need to head back north to Madrid and change trains there.  That is a very short additional travel leg.
All of the trips you'll be taken have the potential to sell out ahead of time; Spain is the rare country where full trains are not exactly rare.  There's no need to worry about sold-out trains this early, but if you're going to on a tight schedule--and thus not terribly flexible about what day/time you travel--it would be smart to be sure you've got your plans nailed down so you can buy your tickets reasonably soon after they go on sale.  Doing so is likely to save you some money as well (not to and from Toledo; that fare never changes).
The last date for which I see rail service from Granada to Madrid is December 12.  I imagine that is because there is a Europe-wide tweak to rail schedules in early December.  If you keep watching, the late-December dates will open up for you.