Buying coins at market prices then adding profit margin means customers shy away from it.
I don't agree with this statement. The agent adds so much convenience that customers will be willing to pay a small premium. Just as currency exchangers have different prices for e.g. cash and travellers checks, so people will expect to pay different prices for online exchanging and in-person cash exchanging.
But in any case the agent deals in large quantities of bitcoin, and
will be able to get them cheaper than by buying on the open market. Agents are likely to be net sellers of bitcoin, so they need to come to an arrangement with their local bitcoin-accepting merchants (who are likely to be net acceptors of bitcoin, and have lots to sell on a regular basis). The merchants will prefer to have a regular and reliable buyer for their bitcoins, rather than redeeming them on an ad-hoc basis trade-by-trade at some online exchange.
If you have to buy bitcoins from another country thats an automatic 2-3 % before you even start .