I've found Golden Gate Park to be the best. They have 20+ well-maintained courts and you can play for 1.5 hours (w/a reservation) for $5! There are also a few courts at Dolores Park and in the Marina (Lance's list gives you the exact addresses) but beware of long wait times during peak hours! I've also tried the the Alice Marble courts (6 courts) at the very top of Russian Hill. The view is stunning, and the courts are well maintained - though the surface is slightly more rubbery than a regular hard court. Hope this helps!