You can also use Titan Framework, however I would only advise on using a framework if you have a lot of options.
Also, I would recommend just doing all customizer options if you are creating a theme, and mostly for changing styles and perhaps some behavior. If you need a metabox for something, then you're dwelling into plugin territory already.
And instead of creating stuff from scratch, you can use TGM Plugin Activation to suggest plugins like Custom Sidebars. If you do that, you won't have to worry about building an unlimited sidebar solution of your own.
EDIT: I just noticed that this thread was months ago. It appeared though on the top of my list so I thought it was new