Hi Kiran,
That's what template binding does by default. Adding the template contents inside the custom element is something that Polymer does for you.
If you just want to avoid using shadow DOM in your element, you can use Polymer and override the parseDeclaration method for your element. The parseDeclaration method creates the element's shadow DOM:
Replacing shadowFromTemplate with lightFromTemplate in parseDeclaration gives you data-bound contents in the light DOM. However, you'll probably still have a dependency on the shadow DOM polyfill, and it sounds like that's what you're trying to avoid.
If you want to see what Polymer is doing to instantiate the data-bound template contents, look at lightFromTemplate (in base.js) and instanceTemplate:
There's a bunch of things that Polymer adds to the basic template binding, including adding support for Polymer expressions and the "template" attribute for legacy elements like table rows (where older browsers won't let you insert a template element). You may or may not want those features, but hopefully this'll get you started...
Cheers,
Arthur