Intersect и Except немного более лаконичны и, вероятно, тоже будут немного быстрее.
IN
collection.Intersect(new[] {2,3,4,5});
НЕ В
collection.Except(new[] {2,3,4,5});
или
Синтаксис метода для IN
collection.Where(x => new[] {2,3,4,5}.Contains(x));
и НЕ В
collection.Where(x => !(new[] {2,3,4,5}.Contains(x)));