Depends on how deeply the firms have gotten locked into specific cloud provider services. It's possible to do things in a cloud-agnostic way (for example, Terraform-- ugh), but those implementations are suboptimal, and just as they used to say about Java's much-touted OS independence, it's "write once, debug everywhere."
I'm convinced that it's better to optimize for the cloud service you're running on, and take the one-time hit if you move somewhere else. And I don't believe there's much rearchitecting involved: it'll be lower-level stuff, mainly IaC and other config. If you have to recode, you probably did it wrong the first time.