I guess it depends on what you are using to add the styles to the site, you can insert a style tag or you can do an extension, for chrome I used Stylebot, for both my styles work fine, if you are planning on adding the styles via link tag the css engine is going to parse them and add them to the bottom of the stack thus having less priority hence the need for the !important attribute on some rules that aren't specific enough.
Was using Stylish extension on Firefox. It does seem natural that custom user styles take precedence over "built-in" styles, but it seems like it's not always the case =/