CBL has worked OK so far for us with just plain CouchDB serverside, no sync gateways. But I can see where you're coming from, if your stack is centered around JS I think pouchDB makes more sense. We have potentially large DBs (depends on usecase) where browser context isn't enough and/or provides a bad user experience.
Oh so you're using CBL with a couchdb backend? I didn't even realise that was possible. I thought it only synced with Couchbase which is where all the complexity came in.
Yes it's possible. Here and there there might be a quirk but so far nothing that set us back too much. I'm not a fan of Couchbase's Syncgateways either, I'm not sure the problem they're solving is a very common one.