The D300s colors are closer to the reality, the Canon is a little bit reddish.
Try using Custom White Balance and never rely on the camera's built in presets for AWB (especially indoor light). Use a WhiBal card (or similar) to achieve accurate color which any decent camera should offer the option of Custom WB. You should be shooting in RAW also vs. JPG which pre-bake's the settings and much more difficult to manipulate. In RAW you will have full control over your entire image. You can convert to JPG after proper tweaking in DPP if you like. JPG's are included in each RAW image by the way.
Digital sensors only detect black and white. The color is guessed at by the jpeg in camera processor or the raw converter, and can be set to pretty much any color you want. I am not much concerned by the color rendering of a camera, I have lightroom set to render color the way I like it as images import.
Every person perceives color differently, and has their preferences. Thats fine and as it should be. Thats why I don't place much stock in the gushing descriptions of how a particular lens renders better color. Its all in the perception of the photographer.