/do normally works just fine but a more formal way of doing it isn't bad
The only thing that concerns me is that you cannot force another player to roleplay that an NPC actually exists. This is normally fine in the 'buying something in a shop' example but if players decide to use /npc to then roleplay as if an NPC is then benefiting their own roleplay (i.e helping them get away/win in a situation) then it begins to cause problems
I think it's to safe say that everyone would prefer engagements with actual players. Having a command that benefits NPC role play is not something that would benefit towards any real role play.
If you at some point do need to act out an NPC, /do would be a suitable replacement. I don't see this happening unfortunately but thank you for your suggestion nonetheless.