I've had a pretty good experience with Lyft Line tbh.
The fare is based on the destination, so I don't get charged extra if the driver takes a longer route, or if the ride takes longer due to traffic, or if there aren't other passengers available to carpool.
The fare is also pretty reasonable - lyft line for 2 people comes out about the same as the Muni, so it's pretty much replaced Muni for me.
They also recently added the option of entering more than 1 destination, which is pretty handy when you're dropping someone off on the way home.
PS: I'm not affiliated with Lyft, just a satisfied customer.