I mean, it's all pretty well automated by stack, the only painful part is that it can take a long time and use a lot of storage.
Sure it's pretty well automated, but not a great experience.
Is there something about ghcup that doesn't do the job for you? You ask it to install a particular version of GHC and Cabal for you. It does it. Multiple versions can exist together. Job done.