How many people are in your group? If there are children, what are their ages?
Exactly how many nights will you have in Europe?
By all means check it out (AutoEurope, Kemwel, Gemut), but I think you'll find it cost-prohibitive to rent a car in Italy and drop it off in France or Spain. The cross-border drop charge has been reported to be well into the hundreds of euros (though of course it varies). Leasing instead of renting sometimes works out for trips of 3 weeks (22 days?) or longer, so that is worth considering.
When covering long distances, express trains are often quite a bit faster than cars, so in many cases it makes sense to rent a car only for use while you're visiting small towns, as you plan to do around Aix-en-Provence and possibly around Lake Como.
Many of us feel there isn't any such thing as a must-see, because it depends so much on the traveler's special interests. Europe is chock-full of incredible sights to match just about anyone's taste. Depending on your preferences (large cities? small towns? calendar sights? art museums? historical sites? wineries? things for kids? natural beauty?), you can as easily spend 3 weeks between Milan and Aix-en-Provence as between Rome and Barcelona. In other words, I think you have proposed to cover a huge amount of ground, given the time you'll be spending with your friends--more than is likely to prove practical when you start taking a look at guidebooks. Seriously, all you mention for Rome is the Trevi Fountain?? You have some homework to do.
Assuming that your time limit is pretty firm at 3 weeks, what I'd do is start with your two must-go destinations, Milan/Lake Como and Aix-en-Provence. Do some research and/or consult your friends to try to firm up the number of days you'll want in each place. There's quite a difference between 3+5 and 4+6, and the time left after those places are accounted for will affect how many other places you can reasonably reach.
I like to use the Deutsche Bahn webpage to check train schedules. We've recently been discussing the shortcomings of ViaMichelin.com for figuring out auto routes, but for a first look at driving times it's probably OK. I think it would take over 8 hours to travel from Milan to Aix by train or over 9 hours from Como to Aix if you made no stops at all.
Next, consider the area between Milan and Aix. You've listed the Italian and French Rivieras. Read about them and decide what are the places you definitely don't want to miss. How many days will it take to see them? Do you still have time left from your 21 days? (Probably yes, at this point. 11-13 days all along the coast would probably be over-kill on a first trip to Europe.) Now look into the possibilities outside the Milan-Aix stretch, but keep in mind that time spent traveling from place to place reduces feet-on-the-ground sightseeing time.
Personally, I don't think it makes any sense to go to Rome for a day (or even two days if the first one is your jetlagged arrival day), then head off to Florence briefly, then to Milan. If you don't have much interest in Rome and Florence after consulting a guide book or two, I'd just start the trip in Milan. Every time you change hotels, it costs you at least half a day, often longer. Too much moving around can turn a 21-day trip into something more like a 16-day trip in terms of what you have time to see.
I also suggest taking a close look at historical weather data for the month of April in Milan, Como, and southern France. It may not be as warm as you are expecting. Best to be prepared.
Edited to add: wunderground.com has historical day-by-day data. I've linked to Milan's data for April 2017, but you can access information going back 20 years.