Yes, there ar a lot of different solutions but it comes down to the level of service you'd like to offer your users. You can indeed use the OWA component for allowing password changes, but, this will not work if the user's password is expired or if the user's account is locked out. It will also not work if you've issued the user a temporary password (must change on next login flag set). Thereis not much in the way of auditing available, or settings to prevent dictionary attacks and potentially allowing a malicious user to lock out your user accounts.
The best solution I've found, and affordable, is Password Reset PRO from . www.sysoptools.com. I looked at a lot of solutions and the good ones (Hitachi-ID and Microsoft ILS) are about $8-$20 per user. The cheapo solutions (there are literally many of these) are NOT secure for external use, will make you install funky databases and/or client software, and are a change control nightmare. They are not designed for external use. The Password Reset PRO product was super easy to install, is extremely secure, and is easy for our users. We found it to be on the same high quality level as Hitachi or Microsoft, but without the high price, and a lot easier to install. It allows users to access / enroll even with a temp password. The enrollment process is like a lot of current banking sites where you choose an image thumb and create an access PIN or security word. Cost was about $3 per user which is excellent for a true enterprise product that is actually secure. Their support is very good and they seem to know a heck of a lot about Active Directory and security. Good luck!