Свойства действительно хороши, потому что они доступны в визуальном дизайнере Visual Studio при условии, что у них есть доступ.
Они используются, если вы просто устанавливаете и получаете и, возможно, некоторую проверку, которая не дает доступа к значительному объему кода. Будьте осторожны, поскольку создание сложных объектов во время проверки не является простым.
Любые другие методы являются предпочтительным способом.
Дело не только в семантике. Использование неуместных свойств может привести к появлению странностей в визуальном дизайнере визуальной студии.
Например, я получал значение конфигурации в свойстве класса. Класс конфигурации фактически открывает файл и запускает sql-запрос, чтобы получить значение этой конфигурации. Это вызвало проблемы в моем приложении, когда файл конфигурации открывался и блокировался самой Visual Studio, а не моим приложением, потому что он не только считывал, но и записывал значение конфигурации (через метод setter). Чтобы это исправить, мне просто нужно было изменить его на метод.