An answer to this question might very well be business or industry dependent, but generally speaking, my choice would be C, having an outside firm conduct research rather than conducting it in-house.
This is a very specialized form of research that requires extensive knowledge and great expertise in research, statistics, and all facets of the Internet, social media, blogs, and review mechanisms, just to name a few. Unless a company has the internal wherewithal to do this kind of research properly, the company is using resources, time, money, and labor, inefficiently and likely ineffectively. Someone who does not know what he or she is doing is missing out on a great deal of information, and additionally, results are more likely to be misinterpreted and misused to make poor decisions.
Today, there are companies that specialize in this sort of research, and they employ people who are experts in this field. These experts know where to look, what to look for, and they are good at spotting trends, along with sometimes being able to offer advice on how to capitalize on the information gathered. If there is one area of responsibility in a company that should be outsourced, this is the one, in my opinion. It takes a great deal of expertise to do the job properly, and doing it improperly is throwing money out the window. Every company has its own strengths to capitalize upon, and this is seldom one of them.