For the most part it works for me, but there are some definite rough edges.
For example, I had to disable suspend because sometimes it doesn't wake properly. I need to reboot to make it work again. The fact I needed to enable a bunch of services (nvidia-suspend.service and friends) to even get it to sleep was enough of a pain. I'm running a 1660 GTX so it's not like I have a niche card with special functionality or anything, it's very run-of-the-mill.
Compared to my laptop (ThinkPad), where everything just worked, it's a chore.
I set up a (Beelink) computer for my parents with AMD graphics and it's been flawless for the past year, I've not even had to do any tech support in that time.
I am a researcher and simulations developer, so I can't live without CUDA.