Well, to my ears, not only do all of these sentences sound correct, they actually sound equally acceptable.

With regards to the placement of subject and objects in a German main clause at least, the following rules are the only ones I can think of:

1) pronouns precede nouns
2) subject -> accusative obj. -> dative obj.

3) exception: If the accusative obj. is a noun (but not a pronoun) it will be the last in the row

If rules 1) and 2) clash, you are free to follow either one.

The order you choose helps defining what part of your sentence you deem most important (the later something appears, the more important it tends to be), but that effect again can be overridden by intonation pattern.