Look for multi-destination flights (aka open-jaw). All things being equal, I'd recommend starting in London (non-stop flight) and returning from Italy. I couldn't find any non-stop flights to SFO from Italy. Where you connect on the way home depends on your choice of airline. I prefer to connect in Europe, which avoids having to collect bags and go through passport control/customs in a US airport, then rechecking bags for the flight to SFO - and maybe having to switch terminals, from international to domestic. It's a 2-hour train ride from Florence to Rome, then another 30-40 minute train to the airport, so consider flying out of Rome as well - even if you decide not to spend a couple of days there.
There are lots of day trips from London, Paris, and Florence if you want to see more places. I wouldn't add a 4th destination with 21 days or less for those 3 cities. From London, take the Eurostar train to Paris. Buy tickets 120 days in advance for the most savings.
I'll leave getting from Paris to Italy to the transportation experts here. I suspect the best way may be a budget airline. Be careful that you leave from Orly or Charles de Gaulle airport!