(Disclaimer: I do Agile coaching and training for a living, though not in your area.)
The big secret is that it's not a one-shot thing. The best process for really learning something goes like this: get some training; practice; get some more training. Sometimes you can even swap the first two.
In most situations, I'd say you'll get more bang for your buck by bringing someone in for the initial training. First, it's more cost-effective, if you can negotiate a per diem fee with the trainer (sending folks to training outside is a per capita fee, starts to cost more beyond N people with N usually small). Also, they can tailor the content to your specific situation, which is a big plus.
The situation changes a bit after your people have been doing Scrum for a while, because what's most valuable then is to swap war stories with other folks - in different companies, domains, etc - who have also given Scrum a try. For that it makes sense to send your people (especially those who didn't go to the first training, or have joined you since) out to trainings - not just trainings, but also conferences, user group meetings, and so on. At this stage it's organizational learning more than individual learning, and networking with similarly situated people is a big part of that.