We've just come back from a similar trip.
We were docked in Reykjavik overnight and a shuttle bus took us into the town. It's very small and easily walkable from there. We were on a large ship which docks outside Reykjavik, smaller ones dock closer. Consider hiring a car for the day, which we did (much cheaper than cruise ship excusions). We drove to Geysir, waterfall etc. and then onto Blue Lagoon. Easy to drive, clear roads all the way once we left town. Satnav made it very easy. Reykajavik was our only stop in Iceland.
Our stop in Faroes was Klaksvik, on a different island so can't help there.
In Flam we went on the train ride, but were forced to book it through the cruise line as it was fully booked (cruise ships prebook about 5 carriages).