I've had my own intensive "eat sleep code repeat" cycles back in high school, which is more than a decade ago. That's probably when I went from being a shitty programmer (by adult standards) to an OK programmer. These days I mostly fool around random things when I'm not working, instead of being a beta tester for some bleeding edge software development stack (that's what I secretly think of developers who use RoR and node...)
The "eat sleep code repeat" cycle is probably quite effective initiallly, I just think there are diminishing returns to this approach. If you've done this thing for (say) 10 years already, you probably don't need another twenty years doing the same thing -- it either gets repetitive (which, especially in this field, isn't exactly a good thing), or you've managed to continue to innovate, but by then you've probably holed yourself into a tiny niche or something.
Not that I disagree with you though, the *intentional* breaks from actually programming, i.e. those that you force on people just because doing something other than coding "makes you a better coder" probably don't really work. I guess you just need to do coding a lot, and also somehow manage to squeeze other stuff into your life as well.