If you are looking for user facing interaction, stick with xml. It has more support, understanding, and general acceptance currently. If it’s internal, I would say that protocol buffers are a great idea.
Maybe in a few years as more tools come out to support protocol buffers, then start looking towards that for a public facing api. Until then… JSON?