ユーザーコントロールやカスタムコントロールをしょっちゅう作っている私にとっては、
プロパティとフィールドは大違いです。
だってプロパティウィンドウに出てこないじゃん。
以上。
ってあっさりしすぎなのでもうちょっと。
私は一般にプロパティウィンドウに出さない場合でもプロパティにしてBrowsable属性で制御します。
PropertyChangedイベントを発生しなきゃいけない場合があるからです。
私は結構いい加減な奴なので普通のクラスではどっちでもいい派です。
仕様書的にきちっと書かれていたり他のクラスで参照や設定するのが決まっている場合はプロパティ。
一応外だししておこうか程度だとpublicフィールド使ったりするかもしれません。
厳密にGetだけとかは気が向いた時しかやりません。