I'd say 2-4 weeks is reasonable, but there should be some type of time-frame expressed prior to you sending boards off. And if it changes, the people doing this work should be notifying customers.. it doesn't take that long and instead of having boards sitting for 3-months or 6-months and customers that are losing their patience, a simple email would do wonders. And if you give the option of sending the boards back if the adjusted time-frame doesn't work then there's no harm done.
My bet is what happens sometimes is some of the people doing this kind of work take full payment upfront & that removes incentive to get the board done. In that case, 50% payment up-front and 50% once the job is complete & boards are ready to be mailed back would keep the incentive there. If something changes along the way and component cost is higher or more repairs needed than initially thought, that should be expressed to the buyer as well. Kind of like taking your car in for a repair and they find something else wrong.. you're usually told about it and given the option to fix it then or leave it go. If the remaining 50% payment is not received, the boards don't get shipped back until payment in-full is made.
I'd hate to be taking in boards for repair and having them sit for 6 months or longer without customers really knowing what's going on. That situation isn't good for anyone and evident by some of the posts here. Boards can take a while to repair, and there are unknowns, but communication and ability to set or update expectations are just an email away.