When I did this trip (to Syracuse actually, not Palermo) a few years back, I left London in the morning for Paris, and changed there for a train to Milan, arriving late afternoon. Then, after a meal in Milan, I got on a through sleeper to Sicily [with portions for both Syracuse and Palermo]; the train got to southern Italy in the morning, and it (the train) was ferried across to Sicily around lunch-time and continued on (each half to the different destination). So - London to final destination in Sicily with only two changes of train; cost c £100 (including the bed in a two-person sleeper compartment) with advance bookings for all 3 legs. Total journey time 30+ hours, though all very comfortable (lunch on the Paris-Milan train was very pleasant too). And the morning coffee I was served on the sleeper was as good as I've had anywhere in Italy!!
Timetable changes might mean connections are different currently, so this might not be so easy at the moment; and in any case you might want to do a more leisurely trip with breaks of journey. But providing you include at least one leg on a sleeper, you can avoid hotels. Given that the highest-speed Italian services don't have new fast lines in the very south (nor on Sicily!), it makes sense to have the/a sleeper leg near the Sicily end of the journey.
But you could of course take a sleeper to Italy (from, eg, Switzerland, perhaps having travelled to there from London during the day), and do the journey from, eg, Rome, to Sicily all in daylight the next day. And, as has been suggested above, you could include more than one overnight on the rails, and spread the whole journey out. It all depends on preferences - overall journey time, overall cost, whether you want to stop and spend time in places en route, and so on. But the idea of going from Britain to Sicily by train is really a doddle - it would never occur to me to consider flying to anywhere as close.