Для длинных струн я использую это:
var normalized = input
.Where(c => !char.IsPunctuation(c))
.Aggregate(new StringBuilder(),
(current, next) => current.Append(next), sb => sb.ToString());
работает намного лучше, чем использование конкатенации строк (хотя я согласен, что это менее интуитивно понятно).