NSPreferredMailCharset String はすでに UTF-8 に設定してあります。それとも「UTF-8」とするのではなく「UTF-8 ... defaults」と入力するのでしょうか? その場合「...」の前後にスペースも挿入する必要があるのでしょうか?
エンコーディングをメール内で明示的に UTF-8 としたい理由は、私の書くメールはほとんどの場合、意識するとせざるとに関らず、UTF-8 でないと表示できない場合が多いのです。「自動」に設定しておくと、相手が Apple Mail で受信している場合には良いのですが、そうでないと文字化けします。単に ISO-2022-JP では表示し切れない文字を使った場合でも、しばしば「Content-Type: text/plain; charset=UTF-8; format=flowed」とはならず、「Content-Type: multipart/mixed; boundary="Apple-Mail-27-1034542011"」となってしまう場合が頻繁に発生します。UTF-8 でなければ表示できない場合には自動的にかつ確実に UTF-8 にしてくれるのであれば一番良いのですが...。きちんと UTF-8 にされていないと、例えば、Yahoo! の無料メーリングリスト等を使った場合には、メールの本文はちゃんと表示されても、Yahoo! 側で勝手に付けたメッセージが文字化けしてしまい、どうしてもメール全体をきちんと表示させることができなくなってしまったりします。相手のメーラーでどう設定を変更してもこうなる(つまり1つのメール内に複数のエンコードが混在すると)とダメです。
しかし、こちらが想定しているのは専ら日本語の相手ではなく、アルファベットを用いる受信者です。あちらの方々は文字コードなんて全く意識していないので、メールに UTF-8 である指示が埋め込まれていない場合には彼らの言語のデフォルトで開いて「文字化けした」と大騒ぎしてくれちゃいます。いくら解消方法を説明しても、まず理解してもらえません...。相手を**だ、無知だと責めるのは簡単ですが、当方の目的である、こちらのメールの内容を相手にきちんと伝えたいという役には立ちません。
と言うわけで、通常はデフォルトで UTF-8 にしておいて、必要なときにだけ別のエンコードを選べるようにしておいた方が楽かなと感じたわけです。(繰り返しますが「自動」がきちんと機能するのであれば、デフォルト・エンコードをいじる必要はありません。)
com.apple.mail.plist の編集には、当然、Property List Editor を使っております。
いずれにせよ、com.apple.mail.plist の String を UTF-8 にしても、デフォルト・エンコーディングを変更することはできませんでした。