La pregunta era sobre el rendimiento, sin embargo, el título solo dice "vs", así que siento que tengo que agregar algunos puntos más, aunque algunos de ellos tienen opiniones.
Entonces, en base a estos, decidí seguir con la string.Format
mayor parte de mi código. Sin embargo, he preparado un método de extensión para tener una forma más fluida de codificar que me gusta mucho más. La implementación de la extensión es de una sola línea, y se ve simplemente así en uso.
var myErrorMessage = "Value must be less than {0:0.00} for field {1}".FormatWith(maximum, fieldName);
La interpolación es una gran característica, no me malinterpretes. Pero en mi opinión, brilla mejor en aquellos lenguajes que pierden la string.Format
característica similar, por ejemplo, JavaScript.