Your dog needs food that has a higher protein and fat content. Pick a food that has a higher 'real meat' content (not meat by-products). Slip in a serving of canned food now and then. You could also try to gradually switch from 3 meals a day to 4 or 5 smaller meals a day.
The fact that Sam is willing to eat his food when you add more water to it, could suggest a problem with his teeth. But you say he has no problem eating cat's food. Also he readily eats a particular brand food. This looks like the problem is a matter of taste and preference. Your vet must have...