Зависит от вашего определения «лучше» - означает ли это, что это означает более быстрый вывод на рынок или более простое в обслуживании приложение в долгосрочной перспективе.
Создание DTO вручную будет означать, что первоначальные усилия по разработке, вероятно, будут более длительными, чем при использовании такого инструмента, как WCF Data Services. Однако, предоставляя только DTO, ваше приложение будет в большей степени отделено от модели внутреннего домена, чем службы данных WCF, поэтому будущие исправления обслуживания, вероятно, будут проще и короче.
Я бы предпочел DTO, если у вас будет достаточно времени и бюджета на начальном этапе разработки, поскольку деньги будут сэкономлены, если приложение будет работать достаточно долго, и его будет легче исправить / изменить. Также использование таких инструментов, как Automapper , может облегчить многие болевые точки, связанные с отображением между объектами домена и DTO.