Does anyone know if there is a ferry that goes from Rome to Barcelona? If so, we're wondering if it's a good option rather than flying or taking the train.
Results of a quick Google search: www.grimaldi-ferries.com.
Results of a search at www.whichbudget.com: Both Vueling and Click Air fly Rome Fiumicino-Barcelona.
Your fastest train route would be Roma-Torino-Barcelona with the Torino-Barcelona leg being a night train. See the timetables at www.bahn.de. After you get summary timetables, click on "Details for all" to see the connecting points.