Conducting a thorough business analysis of a company can be tricky business. It requires complete honesty and objectivity from the moment you even begin contemplating the analysis. This is the key. If that does not happen right at the outset, then the results are going to be biased to a greater or lesser extent. Your corporate culture, the organizational structure and hierarchy, the company's political environment, and the specific goals and motivations of its individuals are all going to determine whether or not you will get an objective evaluation.
Several things can sway an analysis away from objectivity.
Another case might find those performing the analysis leaning towards specific results to ensure that they receive a bonus or another benefit or reward. Both of these instances can deliver less than satisfactory results and both can be delivered by in-house people or outside consultants. Of course you want to make sure that whether you do it in-house or through an outside consulting company you have a capable and knowledgeable staff performing the analysis, but the key is to determine how to get a truly objective analysis. If you find that you are able to perform an objective analysis, I would still recommend having the final analysis audited by an independent consultant just to make sure nothing was missed.