Думаю максимальная производительность будет при использовании циклов(если писать их прямыми руками).
Но вопрос в том, насколько существенной будет потеря производительность при использовании LINQ, и потеря читабельности при использовании циклов.
ИМХО, вопрос не в том, что LINQ плохо написан. Думаю он очень даже оптимизирован, но он предоставляет обобщенные операции. А на "голых" циклах ты сможешь написать эти операции специфически, так как нужно именно для твоей задачи