Old question, I know, but I stumbled in here just now because I was investigating this exact problem.
For some reason /usr/local/bin was only in the PATH when becoming root via sudo su -. When using sudo -i it wasn't there. Of course I now know I can add it to /etc/sudoers, but that still didn't explain why it is already there after su -. Where did this part of PATH come from?
After a lot of grepping and searching I found the answer:
The default path containing '/usr/local/bin' is actually hardcoded in su(1).
So no pam configuration, profile, bashrc or anything was responsible for selectively adding this element. It was always already there when su took over. And since sudo does not invoke su at all but uses it's own configuration, it was missing after sudo -i
I found this to be true on RHEL6 and RHEL7. I didn't check any other version or distribution.