Я предпочитаю YAML.
В сущностях довольно удобно держать аннотации, т.к. при правильном подходе работа идёт от объектов, а не от таблиц. Это редко может помешать.
В случае с контроллерами же вполне может быть необходимость сходу понять "а куда мы придём в нашем приложении, если пойдём по такому-то адресу". И когда маршруты разбросаны по куче контроллеров, это сделать довольно затруднительно. Хорошо это работает только в обратную сторону: "а какой у нас адрес для этого экшена".
Так вот в случае использования YAML и плагина для IDE, который позволяет в один клик скакнуть от кода экшена к описанию маршрута или наоборот, YAML позволяет быстро отвечать и на первый и на второй вопрос.
Кроме того рекомендую ознакомиться с
Symfony Best Practices, чтобы много вопросов "а как лучше" отпало. И да, как вы сможете заметить читая их, мой выбор YAML расходится с предложенной практикой. Но аргументацию см. выше.