not necessarily because it needs specificity to override the theme rule. I'm not sure if mine is sufficient either.
Any custom CSS that is sent by wordpress is appended at the bottom of the original CSS, therefore, the custom CSS overrides the default one.
If the default CSS had a definition like this:
div.entry-content img {border: solid 1px #000;}
Then my solution wouldn't work, but yours. An !important rule would even be needed.
But if the original definitions is like this:
.entry-content img {border: solid 1px #000;}
Then adding the div selector is just an overkill.