I don't think it has anything to do with "getting in the zone." A novice programmer that spends 4-5 hours straight focused on a problem is still a novice programmer no matter how far "in the zone" he gets. 10X can only come with experience. And that has to be experience working with other 10X programmers.
A programmer that has 15 years of freelance experience may be good at his/her job, but I doubt they would be as productive as a programmer with 15 years of experience working at top tier companies like Google, Amazon, Facebook, etc.
I really think the only way to become 10X is to watch and learn from other 10X programmers and that will still take years of learning.