Environment.NewLine работает хорошо, я много раз использовал его в прошлом, однако, если приложение является веб-приложением, и вы вставляете Environment.NewLine в визуализированный html, это не будет иметь никакого эффекта в браузере. однако, это повлияет на ваш исходный макет.
Если я правильно помню, Environment.NewLine также добавит возврат каретки, если система ожидает этого, где \ n не будет.
Я забыл ответить на аспект переносимости. Я бы всегда делал свой код более переносимым, поскольку, работая в консалтинговой компании, я не хочу пересматривать код, поэтому, используя Environment.NewLine (например), я бы сократил объем работы, которую мне пришлось бы выполнять, если код должен будет использоваться в будущем.