Generally, they are interchangeable for places, but "at" being more general like Ahmadi said. For simplicity, you could always say "at" for these examples as it will sound more natural. 'In' is better to use if you're specifically talking about your precise location or if you're in a moving vehicle (in a train, in a bus, in a plane). "At" is most exclusively used for events...'at a concert, at the party, at the track meet."
"I'm at the cafe, museum, school, shop," etc it can be inferred that you're there somewhere in the vicinity or inside engaging in whatever normal activities you would be doing in that location.
If you and a friend were meeting up at the cafe, and they were looking for you, you could said "I'm IN the cafe" to provide more specific details as to your location. But, they more or less are interchangeable and won't sound weird, generally.
We also say "at the doctor" if we're at the doctor's office, but to use "in" we would say "I'm in the doctor's office" otherwise that would sound very weird...this is true generally true when using the possessive. You could say "I'm at Mike's right now," but you would have to say "I'm in Mike's house" if you were to use 'in.'
So there can be some nuance. With a work meeting, "in a meeting" is better, but "at a meeting" doesn't sound overly strange.