LaTeX itself provides a letter document class, which is widely disliked; the present author long since gave up trying with it. If you nevertheless want to try it, but are irritated by its way of vertically-shifting a single-page letter, try the following hack:
\makeatletter \let\@texttop\relax \makeatotherin the preamble of your file.
Doing-it-yourself is a common strategy; Knuth (for use with plain TeX, in the TeXbook), and Kopka and Daly (in their Guide to LaTeX) offer worked examples.
Nevertheless, there are contributed alternatives - in fact there are an awfully large number of them: the following list, of necessity, makes but a small selection.
The largest, most comprehensive, class is newlfm; the lfm
part of the name implies that the class can create letters, faxes and
memoranda. The documentation is voluminous, and the package seems
very flexible.
Axel Kielhorn's akletter class is the only other one, recommended for inclusion in this FAQ, whose documentation is available in English.
The dinbrief class, while recommended, is only documented in German.
There are letter classes in each of the excellent koma-script (scrlettr: documentation is available in English) and ntgclass (brief: documentation in Dutch only) bundles. While these are probably good (since the bundles themselves inspire trust) they've not been specifically recommended by any users.