Note first that Monterosso and Sorrento are about 400 miles apart and only the slower Regionale trains that make every stop on the run go to these two places from Florence and Naples. Second, from Sorrento, you are about 4.0hrs away from the Civitavecchia train station which is where you will need to be to get to the cruise boat docks. You will be on three different trains to make this 4.0hr trip (Sorrento/Naples, Naples/Rome, Rome/Civitavecchia).
For Florence to Rome, there are about 55 high-speed trains each way every day that run between these two cities. Travel time is 1hr35min. There are also numerous high-speed trains to/from Rome and Naples. Monterosso is about 3.5hrs from Florence by train and Sorrento is about 3.0hrs from Rome by train.