We are flying into Rome on a Saturday morning and will be taking the train to Florence. Do we need to reserve in advance, or can we buy our tickets after we arrive?
Buying a ticket in advance for your arrival day is risky. It would be for a fixed time and specific train, so if you are delayed for any reason, you would be out of luck and would have to buy a new ticket at the train station.
Trenitalia has a 2 for 1 special on Saturdays, but the nonrefundable tickets have to be bought at least 2 days in advance. So if you wanted to do that, plan on 4 hours plus of quick touring in Rome as a cushion. Otherwise, just buy when you get there at 47 EUR per person 2nd class, from Termini, plus 14 EUR for the Leonardo Express to Termini. You can also take the Regionale train to Tiburtina station for 8 EUR and get the train to Florence there. If the timing works out, there is a train direct to Florence from the airport at 11:08 for 55 EUR per person.
Tickets on trains from Rome to Florence are for a specific train. Once you have a ticket, you can't take a different train without first getting a new ticket.
Advance purchase tickets are cheaper on this route, but are non-refundable and non-exchangeable. So, these work well when you know your plans. When you're flying in from the US to Rome, all kinds of things beyond your control can determine how long it will take to get through the airport and into Rome. For that reason, even if you want to prebook discount tickets for your other train trips, for the trip on arrival day it's usually recommended to wait until you arrive to buy a ticket, which will be full fare. As Sam posted, though, the full fares aren't that high. If you do want to prebook cheaper tickets, accept that you may not be able to use the prebooked tickets and will have to throw them away and buy new ones, or conversely, that you could have a lot of time to kill.
When you buy your ticket from the Rome airport (Fiumicino, airport code FCO) to Florence (you want the main station, Santa Maria Novella or Firenze SMN), there will be two segments and you will have to change trains, unless you catch one of the two daily direct trains Sam referenced. You will either go FCO station to Roma Termini station and then Roma Termini station to Firenze SMN station, or FCO to Roma Tiburtina station and then Roma Tiburtina station to Firenze SMN station. The first segment from FCO to either of Rome's stations is NOT for a specific train, so you MUST validate this ticket before boarding, or risk a fine. From Rome to Florence your ticket is good for a specific seat on a specific train, so it does not need to be validated.
Thanks so much for the quick and detailed responses!
We were planning to rent a car in Florence and drive to Sienna, where we'll be staying for a week. Any advice on car rentals? Is it easier to rent in Florence and drive to Sienna, or we can take the train to Sienna and rent a car there (if there are cars available)?