I purchased my iPhone 7 Plus through Apple when I had Sprint. A week or so after I walked into a Verizon store. An hour or so later I was on Verizon. However there was a trick. The rep there had to activate the sim in one of their iPhone models, which meant he did it on a temporary number, then put that temporary number into mine while we waited for my number to port over from Sprint.
I went home and waited a couple hours and still was on that temp number. I called Verizon, they said I had to call Sprint (Or vice versa). Basically the port order wasn't completely put through? So I don't know if customer interaction had to happen, but the point is I was with Sprint for a week or so on my iPhone before I switched and it's been working fine on Verizon ever since. One thing to note though is that unless you buy the phone FROM Verizon, it will show up as a NON-VZW device, which I'm told by both Verizon and Apple that it's not an issue as long as everything is functioning fine. (Calls, Texts, Data).
Just some food for thought there. I had to leave Sprint, they added on $25 a month because I was no longer paying for the phone through them (Verizon charges $20 for this but I didn't know at first) and Sprint kept telling me it was another charge that I shouldn't be paying for. I always got a different answer from every person I spoke to there. Had them for 18 years, got tired of the slow and poor data coverage in my areas. (South Florida). I had a Galaxy S6 before this.