I keep everything backed up and synced to Google's cloud, so anytime I login to a new Android device, my text messages, apps, photos, etc come over relatively painlessly. Really, it's a pretty solid process that I have few complaints about, but Google wanted to make it even easier for anyone coming to the Pixel 4 or 4 XL, even if you were an iPhone user.
I powered on my new Pixel 4 XL, and had planned on signing into the cloud like normal, but the on-screen prompts gave me the option to migrate by connecting the USB cable directly to my old device. I didn't take any screenshots (I wish I had) but this is really so simple and easy; Google really holds your hand through every step of the process. I didn't even need to use my password, even though the process was secure as I was asked on another device if I authorized the sign in.
Once the old phone was tethered via USB, I didn't even need to click next or any other prompts; the Pixel detected the other phone and just went to the next screen. My old phone asked me if I wanted to allow the transfer, I said yes, then I was given a chance from the new phone to either just do everything automatically, or to pick and choose exactly what items are transferred, for instance, which apps. Some apps were device specific to my old phone, and I didn't want them moved, so I just de-selected them.
All my apps and data were moved within ten to fifteen minutes. I expected it to take a while, and didn't time it, but it was surprisingly fast, and easily the least painful transition to a new phone I've ever experienced. So, if you are intrigued by Google's flagship phone but are coming from another brand that you've used forever, fear not! The process is really easy. If all else fails, Sprint does provide in-store content transfer for its customers, but I really don't think you'll need it with this phone.