When my team switched from Delphi as our main development language to C#, we did have a consultant/tutor come in to assist us in the transition. It wasn't cheap, but definitely worth it, I think.
That is, after we had found the right person, because it was a bit of a lengthy process to identify a good consultant. I think what helped was that one person on the team had been teaching himself some C# before (reading books and looking around online). So when interviewing people we were able to better judge whether they were up to the task and were knowledgable in the areas we would be needing help in, e.g. database development, UI frameworks etc. Even if you are just one person being tutored, I think you need to prepare by researching the language and the frameworks a bit to make an informed decision.
Once we had found the right person, we would group people by the kinds of things they already knew and the kinds of things they still needed to learn given their job descriptions. This isn't relevant when its just one person, but with multiple people I think it is very important to form homogenous groups, so everybody is advancing at roughly the same speed and nobody gets left behind or is bored while waiting for others.
It also helped that these learning sessions were scheduled events. The only reason to not attend were accute production problems, but otherwise there was no excuse to skip. I find it much harder to be this disciplined when studying on my own.
Having the tutor assign homework that was to be completed for the next session either alone or in pairs also worked really well to help people apply what they had learned in a tutoring session.
In the end, as people were doing their first projects in the new language, we no longer had scheduled sessions, but instead the consultant was just around the office, so when one was stuck, they could get some help from him.
We originally intended to have the consultant write some shared libraries that would be needed in the new language to complement the framework, but in retrospect, I wouldn't recommend that. He may help with such a task, but in the end, the people on the team have to own the code´, so knowledge is lost when he eventually leaves.