И имеет ли вообще это смысл в плане оптимизацииНе имеет. Под капотом всё равно будет N запросов с UPDATE.
find()->setAttribute()->save()
: для них не сработают стандартные события моделей, касты атрибутов и т.п. Отказываться от возможностей фреймворка ради какой-то оптимизации (даже если бы она была), я бы не стал до тех пор, пока эта оптимизация мне очевидно не понадобится. сам синтаксис же не поменялся?В том-то и проблема, что не поменялся, а должен. In - это особый случай, поэтому для него и метод отдельный нужен.
Основное время в UPDATE занимает запись на диск и перестройка индексов, а его вы уменьшить никак не сможете упаковкой. Сэкономите немного на передаче по сети, проиграете немного на этапе разбора запроса. Разница будет на уровне single-digit милисекунд (и ещё неизвестно в чью пользу). В итоге профит нулевой, только время потрачено и код испорчен.