It's perfectly normal for a 7yo not to be fully retractable yet. The age that a boy becomes retractable varies greatly. It is completely normal to not be retractable well into puberty. Your Dh may have been retractable at a younger are, or possibly he was forcibly retracted in infancy, but your DS has his own time line. It isn't a race.
Being overly vigorous during cleaning is more likely to cause problems than not cleaning at all. The intact penis has a natural ph and flora balance just as a womans vagina does. And, just as washing a womans vagina with soap can lead to issues such as yeast infections, washing under the foreskin can lead to the same problems. It should just be gently rinsed with plain water. Only your DS should be trying to retract it, and only so long as it doesn't hurt.