I have done 2 trips with teens to Europe for 2-3 weeks. I would suggest in both Spain and Italy, you stay just 1-2 places in each country and day trip. My 1st trip was really too much time on trains with luggage and in/out of hotels. DH and I liked it fine, but teens wanted to stay put more. You can have a rushed 4 days in London and Paris, but then you need 5 days in 1 place in Italy. Tuscany would work well for this, as you could day trip to Florence, Pisa, Lucca, hill towns, then move to Rome for a day or two, then to Sorrento, if you must. Naples has high crime--I would stay in Sorrento area and train to Pompeii from there--or just day trip from Rome to Pompeii and stay in Rome for 3-4 days. It's an easy train ride or you can do a van tour--either just transport and DIY or a full tour. I would either train or do the DIY van.
Then, after Rome/Pompeii, stay 4-5 nights in 1 place in Spain, and then move to another place--or just stay for the whole week in 1 place.
I might also suggest a week-long W. Med cruise with 10 days land, split London/Paris/Tuscany (still 5 days), then cruise. You can hit a different city each day and teens have lots to do on board in the pm, plus unlimited food. We usually combine 10 days land and a week-long cruise and that works really well and is fairly cost effective.