Custom content type add form
Any administration page such as /node/add will be displayed in the selected theme, as long as the user has the permission 'View the administration theme' off (and of course has the relevant permission on, such as to create nodes for the specific type).

You wouldn't really need to create a custom form for that, the standard node create form may be sufficient. Of course you could, you would have to read the documentation such as this.

As far as the first requirement about validation from administrators, the modules Workflow and/or Rules would be useful.