Некоторые преимущества использования DelegateCommand (a.k.a. RelayCommand):
1) Требуется меньше XAML / кода для их поддержки (не нужны CommandBindings)
2) Код реализации команды можно легко написать в классах ViewModel
3) Для правильной работы они не зависят от дерева элементов пользовательского интерфейса, что также помогает повысить производительность
Поскольку многие сторонние элементы управления пользовательского интерфейса используют маршрутизируемые команды, большинство разработчиков используют маршрутизированные команды, когда получают зависимость от этих элементов управления.
Если вам в конечном итоге понадобится использовать маршрутизируемые команды, ознакомьтесь с моей статьей Использование RoutedCommands и ViewModel в WPF , чтобы узнать, как упростить вещи.