I bought a Moto Z3 play after a botched battery replacement on my old Moto forced a quick replacement. It was on sale for $215, carrier unlocked, bootloader unlockable and decent specs for the price. An aftermarket OS can cause some serious issues when you're still receiving OTA updates so I stuck with stock. Unfortunately, Moto dropped support 2 years after launch, 1 year after I had bought the phone brand new. I was expecting security updates to go for another year based on what I read about Moto. Conveniently, Moto never commits to a full update schedule, they only tell you if your device is still supported, until support is silently dropped.
LineageOS to the rescue! Official support came a few weeks ago, but I decided to wait after TWRP failed to restore my backup the last time I tried out Lineage. I followed the install instructions and everything went smoothly. LineageOS is currently on Android 10 so I got an OS upgrade along with a few months of security updates with the install. Lineage feels more responsive in general, but the best part is no bloatware and google based apps aren't installed by default. I put the pico package from OpenGapps to put the bare minimum of Google on it so that all apps still work.
The gotchas for Lineage are that the manufacturer no longer supports the device and support is done by a random person. The lack of manufacturer support means that vendor security items like firmware won't get updates. That's not ideal but with the Lineage getting monthly security updates from Android and the Linux kernel getting releases you're still in decent shape. The random person support means quality and communication are variable. Quality is typically good, but it's not uncommon to run into oddities that cause issues. For instance, the Z3 play has no builds up right now because there were reports of people having issues while I've been running it for 5 days with no issues. The communication has been more annoying for me in the past. A maintainer can stop at any time and the users get no notice that this is happening. Your phone can go from official support 1 week to nothing the next and you'll only find out when you stop getting updates.
My overall view is that Lineage works better than stock, but the ecosystem is a mess due to Google's decisions. Lineage's official builds come once a week with android security updates once a month. Compare that to Moto who sent security updates every 3 months and the newest update was a month behind. I was about to talk about how the lack of reliable non-Google backup solution caused issues, but a quick search shows Lineage recently got built in support for SeedVault. In true open source Android fashion, Google keeps changing things with their thumb on the scale while open source groups try to keep non-Google Android usable in the real world.