I know this question is old, but here is what I think. How you want to use the data is an important determination for how you build the form.
Webform is made for surveys and does it well. It is easy to list your forms and enable/disable them, or change as needed. Each webform has a link to its submissions.
Using a content type (node/entity/whatever) has different permission implications, and allows more flexibility in actions later. You can use the 5-star module or Flag module on a content type, but not on a webform submission.
Making a custom form with the form api is good if you want to process the information yourself and not store it in the database for long term retrieval. I would not go through the trouble of defining a separate form, validation and submission handlers to just do what both node and webform already do. But it sounds like you have already invested the time in doing this. That just goes to prove there is always more than one way to skin a drupal.
Both webform and a custom content type can use the Markup field, https://www.drupal.org/project/markup Both can trigger rules to fire on submission for minor automation tasks (or large automation, depending on your developer's skill) Both have views integration for making a statistics or summary page, if desired. (https://www.drupal.org/project/webform_mysql_views)
So if the question really is only "Which method is easiest for custom form display?" then I would say the answer is the custom content type. Field groups, field collections (rarely needed, irritating to handle, but so useful when they are what you need), and the above mentioned markup field will do most things for you. I have used field groups and js to convert a set of radio buttons into tabs when tabs within vertical tabs were not possible with contributed modules. There was one project I built where the form had 80+ fields with heavy repetition. I made this module for use there because I only needed 6 field styles and I was tired of using field names in the form-alters and having copy-replace errors. https://www.drupal.org/sandbox/developerweeks/1964036