I want the redirect to apply if a person visits domain.com/user/account (without the trailing .php)
No, you don't. Really.
If you were talking about a redirect, it would be OK, though not obligatory. But here you've got a rewrite. Do you really want the search engines to come away thinking your site is made up of pairs of identical pages?
user/account = user/account.php
user/watchlist = user/watchlist.php
More than pairs, in fact, because all those unescaped . in the pattern mean that
Pick one canonical name for each page-- with or without .php --and stick with it. Anyone who asks for the wrong form gets redirected before the rewrite kicks in.
This rule RewriteRule ^index\.php$ - [L] needs a preceding RewriteCond to grab users who asked for index.php and redirect them to www.example.com alone. Your server is allowed to ask for index.php by name; people from outside aren't.