I'm wondering the best way to add a custom link to the top navigation menu?
Depends how flexible you would want it. You can modify the block/phtml template in:
New unordered list items can then be added there.
It is also possible to add a static block there that will give CMS Adminstrators the ability to add custom links. This is handy if deployments to Production environments involve some extra planning or scheduling.