Personally, I always do a manual check.
There is software out there that will do this for you, but:
1. When they use a search engines API, you can get very inaccurate results (it's an especially common problem reported with the Google API)
2. Software that doesn't use a search engine's API could be shut down
So a manual check will be more accurate - BUT it also provides the context of your ranking - ie, it shows you which other sites and pages are also ranking near you. Personally, I consider this to be useful information - even if I don't record it, I can still recognise who the direct competitors in the same ranking area are, and plainly see significant movements or changes in this.
For manual checks in Google, I set preferences to 100 result per page, then use the "Find..." feature of the browser to find a domain quickly.
If it's not in the first 100 results, it's not optimised...
If you want to use a software solution, you can do far worse than use the DigitalPoint keyword ranking checker here:
http://www.digitalpoint.com/tools/keywords/
Hope that helps.