Take a look at Gravity Forms, a plugin for building custom forms. It includes support for creating posts via frontend user submitted forms. It is well worth the cost. You can also use it to build any other custom forms you may need.
There’s another plugin that works with Gravity Forms to apply custom post types and pull in custom taxonomies into your user submitted post forms.