This is a hard question because you DO hear both being used.
I think saying "There's a post office on West Street" is grammatically correct. From how I see it, using "IN" is to refer to something being "inside". For example, "There is chocolate in my milk."
Another example is a street where I live, it's called "China Town". Because the street is narrow and somewhat enclosed, people say, "There is a nice noodle shop in China Town". I guess the only explanation I can provide is, think of whether you are physically walking INTO something. It won't work for all cases, but most.