It's a pain because as you said customer have to reenter their details again. In case of subscriptions the payment provider needs to collect confirmation they want an ongoing subscriptions (in some countries that means secondary confirmation via 3DS, text message or such). Plus the risk the customer, happy paying for years, suddently either doesn't act or re-evaluates if they really need the subscription. It's a huge lock-in and businesses try to avoid switching if all possible.
Easier for products/e-commerce I'd imagine because that's many single transactions and you wouldn't need to email older customers.
We were lucky. We used a payment provider early on that used Stripe in the background. The product and prices configuration was a bit messed up but we owned the Stripe account and started building our own checkout etc.
BTW Stripe allows companies to move between countries. You'd need a second Stripe account but their customer service can move over all customer and subscription records. I'd imagine it's the same should two companies merge or such.