Yes, there are good third party solutions for that. My favorite is Lepide Active Directory Self Service: http://www.lepide.com/active-directory-self-service/
You can contact them for an evaluation period.
Hi,
There is no known function which could help remotely change password.
However we should able to workaround this with several methods.
For example if there is an OWA configged for your company, users can change their password their.
Also we can get different remote app on most mobile phone/pad so if it is available to remote to users' computer or a RDS server, we can also workaround with remote logon and change password.