@OliverFang ROI in San Diego is mostly via appreciation (property appreciation but also rent appreciation). However, in general the rent - mortgage expense (mortgage + escrow) is greater in the working class neighborhoods so if you select your tenant correctly they can have the best cash flow. But damage, vacancies, etc. affect your ROI. Typcially better neighborhoods with better units have better tenants resulting in less vacancies, less damage, etc. This typically does totally make up for the difference in price versus rent but when you factor in your time the difference may be smaller.
All it takes is one very destructive, bad tenant to significantly adversely affect your ROI.
You would think from my answer that I am advising for nice units in nice neighborhoods but most of my units are in a working class area. We typically buy units that have not been rehabbed and wait for existing tenant to give notice (assuming they are a fairly good tenant) before we rehab. The rehab results in some forced appreciation. The rehabs we do are nice (our rehabbed units are some of the nicest rentals in their area) but they also are done to try to minimize maintenance items.
So most of our units are neither nice or in great neighborhoods when purchased. We make them nice but the neighborhood remains not great (decent working class neighborhood - definitely not the ghetto).
We have done a pretty good job selecting tenants. My average tenant duration (including time prior to purchase) has been over a decade. I had one move out in the summer that had been there 23 years (needless to say everything about the place needed to be rehabbed). I have 2 original tenants both over 10 years. Total unpaid rent for all units combined since we started is less than 1 month rent on a 2/1.5 (which is almost our average size unit - I think the rent was $1450 but we kept the deposit so we were only out about 1 week of rent, the water utility, and minor damage). Our first rental unit was in 2003 (so one deadbeat, that took pretty good care of the place, total in 13 years). Maybe we are getting lucky or we are good screeners.
So if you decide on working class neighborhoods there is likely greater risk of getting the poor tenant but we have yet to have a significant issue. The potential upside is definitely better in the working class neighborhoods but as I already stated one bad tenant can cause a lot of damage and headaches and adversely affect your ROI. I know of a landlord that had a tenant less than 2 years that destroyed the place and left without paying the last month rent (I have some pictures that would shock almost anyone). That bad tenant was replaced by another bad tenant that he got out quite quick with not too much expense. Current tenant seems to be working out.
Good luck