Insert Custom Post Type data from the front-end by a user

I know the community prefers coded answers rather than a plug-in alternative. Especially since alot of frontend dedicated plug-ins are bloated or fail to accomplish most users desires.

But I would recommend a combination of Gravity forms, which is well supported and documented, this will give you or your client easily manageable front facing forms which can submit to a custom post type and/or custom fields.

Gravity sticky List – which will extend Gravity forms and allow front-end editing and/or display of already submitted forms/posts.