The best technique I have found for learning to "sound things out" is called "finger stretching." I'll try to explain it. :)
Have your child make a fist. For each letter (start with words that have the same number of sounds as letters...cat, for example), you will stick out one finger for each sound. So, stick out one finger and say "ck", the next finger and say "aaa" and the third finger and say "tuh." It helps the child integrate that each sound is separate, but that they come together to make a word.
It's important to teach basic phonics before attempting to have a child sound out words. Teach him the letter sounds that go with each letter...ah, buh, cuh, duh, eh, fuh, guh, and so on.
I really like K12's phonics program, but their K curriculum would probably be a bit advanced at this age.
I don't agree that him having books memorized is a downfall...I think it's a plus. Because he knows what the words are, teach him that each words corresponds to each "set of letters" on the page, in that order. So if he knows the page says, "Look at those dogs go!" You can show him that the word look is spelled "l o o k" and that to sound it out, we would go "luh, oo, cuh." Of course, oo is tricky because it makes both a long, short, and a long schwa sound.
There are just too many things to go into on here. I would honestly look into getting a good phonics program to help you out, and take it that route. Sight words have their place..."to" for example, should be spelled "too" phonetically, but it's spelled "to, two, and too." I wouldn't start with sight words!! :)