You have to recognize that by definition, cruising gives you a "taste" of each stop and is NOT in-depth exploration like it sounds like you are used to. The benefit is getting a broader taste of areas so you can maybe decide to go again later OR hitting up spots that you wouldn't want to spend multiple days in, so you're only committing to one.
For me, the concern with your itinerary is several ports are far away from the cities you're supposedly visiting - like Paris and Berlin. I just did a Med Cruise that thankfully started in Rome (Civitivecchia) and ended in Venice (Trieste) so I was able to add extra nights and actually see those cities (still not fully doing them justice, but I'm okay with that). Doing either of those as a port day would have been horrible.
So, test out what your excursions would be in each port and decide from there.