С точки зрения оптимизации не должно быть никакой разницы.
С точки зрения читабельности, я бы подумал о том, нужна ли вам одна и та же логика в нескольких местах.Если это так, используйте метод и используйте преобразование группы методов.Таким образом, вы не повторяете себя, поэтому вам не нужно менять несколько битов кода, если ваши требования меняются.
Если вы используете логику только в одном месте и она короткая, лямбдавыражение захватывает логику «inline» таким образом, который обычно легче читать IMO.
Я обычно избегаю long лямбда-выражений, с возможным исключением использования с TPL, например
Parallel.ForEach(..., x => {
// I'm quite happy to have a long-ish lambda here - it's like a foreach
// loop body, basically.
});