Even less-nice hotels are good for cabs if they have a notable bar. E.g., the W usually has very quick service, but it's a hike from anywhere good.
After your first few months in SF, you develop a skill for sniffing out cabs. Good luck outside FiDi, Union Square, Market Street, Fisherman's Wharf and the feeder streets through North Beach, and the top of Nob Hill. There are a lot of cabs in the Castro, the Mission, and Cow Hollow, but you need to be ruthless in leapfrogging other parties.
That said, just use Uber. Don't bother with Cabulous and the like, because the inbound driver will flake if he's hailed and can drop the meter sooner.
New York (Manhattan) is a lot better- plus there are tons of gypsy cabs (non-medallion) that you can get in when you are in a pinch.
Chicago is the best U.S. city I have been in for cabs. Short wait if you call, but usually no problem hailing one from just about anywhere, anytime. Even in the rain. It's so easy, I'm not sure why.
- Call in a taxi (long wait time, high chance of a no-show)
- Hail a taxi (sometimes impossible, wait times can be close to 20 minutes in some parts of town)
- Use homobiles (might get picked up by a smoker's car or someone carrying a dog, wait times can exceed 45 minutes)
- Use Uber (more expensive, but very low wait time)
Uber is the clear choice almost every time now, but if there were enough taxis there would be a reason for them to show up when you called, and a reason for the cab companies to invest in an app as good as Uber's.