I have goats and sheep within about half a food trough proximity of each other. The sheep food trough will be almost completely full, the goat trough completely empty (both sets of animals are eating from the goat trough). The goats will produce lots of milk, the sheep almost none despite similar numbers and milk values (both baby goats and sheep are drinking milk from the sheep). The only way to really properly separate these issues is to have pens with 40 tiles space between them, which feels a bit excessive.
It would be appreciated if animal eating/milk drinking behaviour chose closest food source instead of the first one it finds in its search pattern (which tends towards a specific cardinal direction). Animals being able to drink other species milk out of barrels also causes frustration. Actually in general the ability for animals to drink milk out of barrels causes vastly more headache than I've ever heard use case wise.