Running backs with speed and strength (and I think acceleration is a bigger factor now as well). O-lineman with strength, but run blocking is more important now too.
Overall, inside runs seem to be a little more consistently effective than outside runs. But the biggest key to a successful running game is finding mismatches and keeping opponents guessing. Make sure your playbooks are balanced as far as the different play types out of each personnel grouping that you use. I also use a few rules that are more specific to downs and distances that throw some runs in unexpected places. Just like in RL, if you force a team to load up the box (i.e. the defense is in Goal Line), outside runs to the weak side can work well. Or if you make the defense put less guys in the box, it opens running lanes for the inside ground game. This is where I scout opposing defenses to see what formations they run against the formations I run on offense, and find some mismatches there.
Hope this helps a little! Good luck!