Não é fácil responder à questão colocada, uma vez que, neste momento, as duas expressões são, já, consideradas equivalentes em dicionários de reconhecido valor, como é o caso do Dicionário Houaiss.
No entanto, posso dizer-lhe que, tradicionalmente, têm sido associados sentidos diversos às duas expressões que indica.
Por outro lado, uma vez que não é consensual a aceitação de «ter que» com sentido de obrigatoriedade, dever, caso tenha necessidade de utilizar esta expressão num texto formal, recomendo-lhe que utilize «ter de». Não por ser a única correcta, mas sim por ser a única consensual.
Para ficar com uma ideia mais completa, aconselho-a a consultar os artigos subsequentes, em que diversos consultores têm apresentado visões também diversas acerca desta problemática: À volta do «ter de…»/«ter que…»; Ter que e ter de; «Ter que» vs. «ter de»; Dúvidas sobre o «ter de» e o «ter que».
Cf. Ter de ≠ ter que