I only have limited experience, but I ran the Tinkerbell 10K last year and the Star Wars 10K this year. I stayed at the Grand Californian for Tink and it was very convenient for both the race and the parks of course. For Star Wars, I stayed at a Best Western on Katella. It was a close walk straight up Disneyland Dr. but after going through security, it seemed like it was still quite a walk to the corrals. Granted I was in the last corral! I ended up somewhere near a parking garage. The Star Wars race went the opposite direction on Disneyland Dr. from last year's Tink so that might have been a factor.
One nice thing about the off-property hotel was the shuttle transportation to the park. I got a free pass at the expo and used it all weekend. It runs about every 20 minutes, stopped in front of my hotel and drops you off near the entrance to the parks.
I'm doing the Tink half this time and my mom and I are splurging and staying at the Grand for a fun mother's day weekend. I booked it some time last fall and I noticed it was more expensive for 2017 than 2016. I was a bit peeved after I found out that they are doing construction on the hotel! Maybe that will make the prices come down!