There are advantages to both approaches. Using a theme such as Avada or X (my recommendation) will make the process faster and guarantee consistency, however the downsides are bloated code and potentially slow page load times. If you don't have a large or media-heavy site, this may not be an issue.
Choose a theme that has a solid reputation for customer support and theme updates. Look at all the demos and be sure that you can mix and match the different elements that you like. And keep in mind that they all come with their own page builders and shortcodes, so you will need to choose a theme you want to stick with until you are ready to completely re-design.
The pros of developing a custom theme are having more streamlined code and total control over the updates. The downsides would be an increased time/cost factor, a need to have someone monitor software changes and make necessary updates, and further development for future functional needs. Additional attention will need to be placed on required plugin compatibility. If you use ecommerce solutions, payment processors or email marketing opt ins, you'll need to be sure the custom code plays nice with them.
Both approaches should allow you to create a totally customized design and user experience.
Additional note regarding using a pre-coded theme: Be sure to check the compatibility with your required plugins as well. Most of them take the major ones into consideration, but if you aren't sure, reach out to the developers and ask ahead of time.
Good luck! Feel free to contact me if I can help further.