Has the user account (obj= "user") in the SC.exe ever been used to log on as a service before? If not, grant that user the "Log on as a service" right.
The only character in your double-quoted password that might, I think, need to be escaped is the "%". If it needs to be escaped try doubling it, or maybe using a "^". So, your password may have to become p8tAGO:bn4P]\b@%%
. or p8tAGO:bn4P]\b@^%
I don't believe that's a PowerShell thing, though. SC.exe (like many DOS exe's) may be handling the parameter values all by itself, even after all the other quoting and special character escaping that the shell handles.