I try to charge enough for my time working that I don't feel like I have to charge for estimates. There have been situations when I felt like what the customer was calling an estimate was more a design, and have a few times offered to design a small project for a fee, I don't remember anyone taking me up on it. I have gotten a little rude at times when I felt like the customer was looking for 15 bids on a $250 job, but plan to handle it a little differently in the future, make it be to their advantage to hire me although there may be someone willing to do it cheaper, or make it to their advantage to go away and leave me alone.
I want to work with my customer, be a part of his team or be his go-to guy. If I can tell someone over the phone to press a reset on a GFCI, it doesn't cost me much, and may gain me more future work. Simliar is free estimates.
I'm not very good at business and am trying to improve, just sorta muddled through the last 30 years.