A way to share content structure across several panel pages I develop a site which presents content along with multiple blocks of information on side bars. They're context related by nature, so I decided to use panels instead of block module. 

That approach worked great for some time and was flexible enough. I created multiple view panes and passed the arguments through panel contexts.

But soon I realized there is a problem. I have a bunch of pages on a site which usually implemented using views pages. But they must more or less share the same side bars. So they must be panel pages too.

But there is a dozen or so of panes on a panel, so copying panel content (say, by using export and import) creates an awful mess and redundancy which greatly hampers maintenance and subsequent changes.

I'm thinking about creating all the pages in code by customizing one rough part created through gui. But I'm hesitating whether it's a good way. Any ideas?
Why not use mini panels, one of the sub-modules of Panels.  Mini-panels are just like panel pages except that instead of taking a path and acting like a page they act like blocks.  They are specifically designed to be embedded in other panels/pages.

So you can make a mini panel called sidebar and then if you ever have to make a change just update it in one place.