We did a 3-week trip by plane, train and ferry in 2017. Public transit is very good and we didn't miss having a car, though if you want to get into the more rural areas it would be helpful. But on the other hand, if you're considering a cruise, your port stops would be cities anyway. We did see cruise ships in the cities, and we enjoy cruising ourselves, but for this trip we wanted more than a one-day port stop in each place.
English is spoken everywhere and the people are friendly and helpful to tourists. Prices are very high though. It might actually be cheaper to cruise than to stay in hotels and eat in restaurants. Also, you have to deal with lots of different currencies in this region since Norway, Sweden and Denmark each has its own variation of the Krone/Krona. Finland uses Euros if you make it there, and I do recommend adding it if you have time. Helsinki is a great city.
Our route was:
- fly U.S. to Stockholm, train from airport to city
- overnight ferry to Helsinki
- fly Helsinki to Copenhagen
- train to Odense (Denmark)
- train to Hirtshals (Denmark) then overnight ferry to Bergen
- train/bus to Flam then next day train to Oslo (google "Norway in a Nutshell")
- fly Oslo to U.S.
it's easy to do day trips such as Helsinki to Tallinn by ferry; and Copenhagen to Roskilde or Elsingor by train.