Copying multiple components from another webform?
You can use Webform Template:

This module allows to easily copy webform configuration from one node to another (including all webform fields). If I remember well it copies all fields, you can't select wich fields to copy.

I've used it and worked fine.

EDIT: Adding more info:

The module doesn't allow you select which fields are going to be copied. Anyway, the module's code not long and it may be easy to add this funcionality. The module also triggers some cusom hook to modify webform (hook_webform_template_insert and hook_webform_template_update).

I think this would be a good starting point.

The heavy lifting seems to be done in the webform_template_node_update (hook_node_update).

// Insert the components into the database.
if (isset($node-&gt;webform['components']) &amp;&amp; !empty($node-&gt;webform['components'])) {
  foreach ($node-&gt;webform['components'] as $cid =&gt; $component) {
    $component['nid'] = $node-&gt;nid;
    webform_component_insert($component);
  }
}

// Insert emails.
if (isset($node-&gt;webform['emails']) &amp;&amp; !empty($node-&gt;webform['emails'])) {
  foreach ($node-&gt;webform['emails'] as $eid =&gt; $email) {
    $email['nid'] = $node-&gt;nid;
    webform_email_insert($email);
  }
}