We took the train from Rome to the Civitavecchia port in May. We were staying in the Spanish Steps area and took the Metro to Termini Station and the Train from there to the port. The cost was 4 euro per person and the trip was about an hour long. At the train station in the port, we took an easy 10 minute walk along the seashore to the port entrance where there were free ship shuttles to the various ships.
This is doable if:
You have limited luggage (we had one wheeled carryon and one wheeled medium sized bag each). Wheeled luggage is a must.
You are able to carry your luggage up and down a flight of stairs at both Termini and the station at the port and you are able to lift the bags onto the train.
You leave as early in the morning as you can ( we left at 9AM) in case you run into problems.
You know whether or not your ship offers a shuttle from the port entrance to the ship
(This is a bit difficult since when I phoned RCCL pre cruise they said no, but when we were actually there, most ships had free shuttles available)
I would also only take the train if the ship was leaving in the evening (ours left at 7PM)
Advice if you choose to take the train:
Make sure you are at the correct platform number, ask a ticket agent because the boards are confusing and often only show the last stop of the train as the destination.
Familiarize yourself with the train schedule and the stops so that you can monitor the stations before Civi. This is more to prevent anxiety than anything else
Check on www.seekitaly.com
to see if there are any train strikes scheduled for the day you use the train
You don't need to prebuy tickets on the internet unless you are planning to use the Eurostar - but if you feel more comfortable doing that, know that you have to get your actual ticket by punching in the code Trenitalia gives you and you can only do this at the entrance to the Termini Station.
I know it sounds complicated, but I am a very apprehensive traveler and non-risk taker so if I can do it anyone can (barring physical limitations)
Do what you feel most comfortable with and have fun.