If you are buying a primary home, I have found that local credit unions have the lowest costs for a loan. For some credit unions, they don't provide a transaction fee for the person assigned to the loan. This provides some nice savings. However, the person from the credit union doesn't always care if the loan doesn't go through. That can be frustrating.
Many credit unions will not provide loans on rental property. As a result, I typically use a mortgage broker for loans on rental properties.
I just re-fied a rental property for a 262.5K loan on a 350K single family rental.
Origination Loan Fees: $1300
Appraisal: $700
Title Services Fees: $1100
Total cost of $3100 in fees. If it was a loan for a primary home, I think the total fees would have been around $2,500.