I've created a very accurate PPM reading sketch though the used of the pinChangeInt and Timer1 libraries. The sketch is available here. The sketch is set up to read three channels, but could be expanded to as many as you'd like.