I switch between the two. If I'm having trouble fully grokking something, I have to resort to the "read and recite every word in my head" method.
Most of the time, I speed read and seem to somehow use another system to take in the information. I usually just absorb the important bits. When speed reading I can definitely simultaneously carry on other conversations much more easily than when I'm internal monologue reading, but one or both is still going to suffer to some degree, for me. That's super impressive if you can really maintain both at 100% simultaneously.
I work in information security, and often rely on the speed reading approach when trying to determine if something is legitimate or not within a sea of noise. For example, there was a malware alert that triggered on a giant JavaScript blob. These alerts are often false positives (or "benign true positives"). My co-worker prettified it and asked me to help take a look. In total, it took up about 20 or 30 screen heights. I took his mouse and just started rapidly scrolling and scanning for anything suspicious-looking, and after a few seconds he looked at me like I was insane and asked how I could possibly analyze the code like that.
I was able to vet it as "very likely clean" in about 10-15 seconds, while it took him several minutes of mentally processing every character in every line. That said, this is kind of like an inverted bloom filter: if there's a match, it's definitely a true positive, but if I don't see anything suspicious, there's some small chance of a false negative. So I "hit the bloom filter" first as a kind of efficient cache. If there's a match, then I've saved a lot of time. If there's no match, and if it's important that I need to be 100% certain with my conclusion, I make the full "database call" (line-by-line read).