There's a lot of inconsistency in rc.S and rc.M relating to launching the other rc.* files.
Some are sourced, some called with "sh rc.something", and some are executed directly. Personally, I'd prefer them all to be invoked directly as /etc/rc.d/rc.something (if only for the sake of consistency) and left to rely on the "#!" line to decide what shell they run in. I actually went through it all on 14.1 at one point and converted them to run that way. Didn't see any adverse effects, but that was a while ago and I don't have the changes any more.
In the old days, one would source rather than exec to avoid the fork/exec and process setup/teardown overhead associated with spawning a new shell process, but with today's hardware the speed saving is unlikely to be noticeable and its my belief that the additional reliability of running independent shells isolated from each other rather than sourcing them would outweigh it.
The inconsistency is a bit ugly, but as you say, it's not really hurting anything (other than being something systemd proponents can point at and go "EWWWWWWWWWWWW!"
). I'd be happy to see it changed, but if its not, I wouldn't make a fuss.