Save/retrieve form data best practises for theme development

It depends upon the requirement how the form submission entries is going to work afterwards.

  1. if you want to collect info from front end and log them to database (with listing in admin panel), separate db table could be the way.
  2. if you want to display the data submitted in the form to the front end users, you should use custom post type as it will be easier to use WP_Query and add filter to include them in archives, search results etc.