Краткий ответ: они одинаковы в Silverlight, поэтому используйте более короткий (если доступен в контексте вашего кода).
this.Dispatcher.BeginInvoke()
гарантирует, что он запущен в потоке, под которым работает данный элемент управления.
Deployment.Current.Dispatcher.BeginInvoke()
обеспечивает запуск в основном потоке пользовательского интерфейса.
Они всегда одинаковы в Silverlight (и обычно одинаковы в WPF, если вы не создали дополнительные потоки пользовательского интерфейса).
Используйте this.Dispatcher.BeginInvoke()
, если в текущем контексте нет диспетчера, а вместо этого используйте глобальный.