I believe finding a ScrumMaster from outside is very beneficial, especially if you do not have any inside your organization at this time. It allows them some honeymoon period to ask some tough questions about why you do certain things or struggle with certain Agile aspects. Maybe they have an idea or experience of how to solve it from past company. I would also hope that they become a member of your team, not just a part time consultant that is considered temporary.
There are often misconceptions about the role of this person and so people often throw the role on someone internally (often after a 2 day class) and then do not get the full benefit of the ScrumMaster because that internal person has no mentors, unless you plan on complimenting the internal growth, with a Scrum Coach to mentor this new role.
As a ScrumMaster, this person would be committed not only to the meeting facilitations and impediment removal, but to help the team, product owner and stakeholders to continuously improve the agile process, especially if you are "in transition". They are an agile evangelist, always looking for new ideas on how to improve, not just support the basic scrum process. This is also why it is important to recognize that not only knowledge, but the personality of the person put in this role is very important, since much of the job is dealing with people, not the process.