I would say at least once per week. Otherwise, they can harbor dirt, germs and skin oil which can be a cause of infections, like stye, conjunctivitis or acne. That's what I do, and I use baby shampoo, because it works really effectively, plus it's cheaper than many makeup brush cleaners on the market.
I would also recommend washing a makeup brush if you're changing from one color of makeup to another, so that you won't get traces of the old makeup in the new one. For example, if you have been wearing a blue eye shadow, then switch to a pink one, then you should wash the brush first, otherwise the pink eye shadow could have traces of blue in it.
Hope this helps.