Hi Suzanne.
3 weeks is a nice first trip to Italy! Have you started with a good guide book so you can identify the sites and places that really call to you? There are too many details to relate here, not to mention the details on how trains work in Italy. Rick Steves' Guide to Italy covers it all. It is also very much time to settle on your plans and make reservations. Do you have your flights yet? Working south to north is fine, but many of us recommend north to south as it is easier to assimiliate culturally, and the flight times out of the south (i.e., Rome) are more favorable than when one has to leave from Venice at 6:00AM!
Sleeping on trains is difficult. Not that many trips in Italy take long enough to justify overnight. Again, the guidebook would come in handy to understand the wheres and whys of traveling by train in italy.
Rome could use 4-5 nights giving you 3-4 full days to sightsee. A sample itinerary might be
Day 1 - Ancient Rome including the Colosseo, Palatine Hill, and Forum plus a walk through som eof the famous piazzas, past fountains, etc.
Day 2 - St. Peter's and the Vatican, which is a museum I would highly recommend!
Day 3 - Ostia Antica (€1.50 Metro ride)
Day 4 - Galleria Borghese in the morning, leaving the afternoon free to see sights you may discover in the guidebook. maybe a walk on the Appian Way!
Be sure to explore the Roma Pass and see if it might be a benefit to you!
One other question/comment: Sicily is a big place that takes at least 10 days to see, and mostly it requires a car. Where will you spend your 2-3 days? Maybe some place like Taomorina to relax a bit by the sea?