Years ago when I worked for a living
I would describe a hearing taking place on a certain date in a certain office at Charleston, SC. My supervisor described the hearing being in Charleston, SC. I vaguely remember that I once was taught that an event takes place in an office or building at a certain location, but maybe I just imagined I was taught that. 
Not of earth-shaking importance, but I’ve always wondered about this, so I’ve decided to ask here.
I’m leaning towards “in.” Usually, when a city, building, container or other thing with walls or borders is the object of the preposition to determine a location, then it’s “in.” “On” is usually paired with streets or locations without walls (on the mountain) and “At” is for time. Of course, exceptions abound (at home, in his house) but this seems to be a strong rule.
Imho, there’s often confusion when the city name is also the name of a venue (the Charleston Civic Center, for example.) Then, “Now appearing at the Charleston Arena…” vs “Now appearing in Charleston…”
Right, it’s “in” for geographical entities. Something might take place in Paris, in Île de France, in France, in Europe, in the northern hemisphere . . . (but on Earth).