It really depends which edges you find rough. Maybe we don't have the same needs. I try to use mostly open source apps and sync my calendar, contacts, files, notes and podcasts via Nextcloud. I use sandboxed Google Play Services for the small handful of apps I need but can't get any other way, everything else comes from the various open stores like F-Droid, Aurora, Accrescent, and Obtainium.
I've used countless ROMs over the years, as well as stock android, AOSP, cyanogen mod, later lineage os., caylx etc., without google, with microg etc.
Honestly Graphene is the first where everything just worked, and gave me the option to take or leave google apps, and have them in a sandbox if I desired.
Probably the first time I haven't felt the need to root or install magisk modules to customize behavior.
For me it's like having your cake and eating it too.
To be honest, and this probably seems minor / trivial, but one of the only things I miss about using GOS is the ability to turn on the flash light by holding the power or whatever other button.
I'm curious about the rough edges you experienced.
1. apps are rather slow to install, since GOS compiles JIT (just-in-time compiled code) on install for security/speed. It's a bit of a pain when I'm needing something now
2. play integrity fails, so some banks¹ don't work, and NFC payments are pretty much bricked
3. I had some weird issue setting up my galaxy watch. probably a Samsung thing but it'd download software for an hour then fail with a generic message multiple times
now writing this out, I realize a lot of these are skill issues I need to just take a couple hours and try to fix
1: my solution is just to use web apps and it works well since I end up with less apps. PWA FTW!
All my smartphones had been Samsung, and then I bought a Pixel just to get GrapheneOS and for me it's a way nicer experience, so I'm curious what the rough edges are that you experience?
You'll lose any apps that use play integrity or other similar checks that check for a non-google OS. Some banking, media, or gaming apps may use those checks, but I haven't encountered many in the US. Other than that, everything will work as stock if you use the sandboxed play services. If you don't use play services, there's perhaps a longer list of things that won't work, including notifications for most apps that rely on FCM. The OS supports different types of isolation schemes like private spaces and additional user profiles. So you can find some middle ground on whether or not you want play services, which accounts are logged in where, etc.
The only downside is the increasingly onerous attestation requirements that are eventually going to infect virtually all proprietary software for Android.
If you only care about running open source code, you're golden.