Copy/paste shader

Is there a way to copy/paste a shader? I know there is "copy selecteed surface(s)" and "paste selected surface(s)" but this only works in extroadinarily rate circumstances where the shaders only differ in values. I constatly have cases where there is no option anymore to have an image map for certain attributes or some attribute is missing or the type of material is different etc. This takes up an extroardinary amount of time. It is almost impossible to work with Daz Studio without being able to just copy and paste a shader. Are there any addons that make this possible or other means to gain this ability?
As an example of what I'm dealing with, I have a scene where a character lost the image map option on several attributes on specifically the body surface and I'd like to just copy and paste the shader I need but I can't because it doesn't add strangely missing options like image maps on attributes that should have that option.
Comments
A Shader (its definition) in Surface panes cannot be copied / pasted. The issue of no option to assign a texture map in a certain slot in Surface pane is because in DUF file, that slot is not set as "mappable" (for some reason...). Even if you directly reapply the same shader preset, it won't fix it.
So, one of the ways is to modify DUF file to set the slot as mappable... but there's an easier tricky way to make it mappable again. Let's take Iray Uber shader as an example.
1) Firstly select the problematic Surface(s), right-click to Copy Selected Surface(s)... Then in Preset tab, locate a totally different shader, e.g. OmniHair shader (filter by omnihair%root), dbl-click to apply it.
2) Locate Iray Uber shader (filter by uber), dbl-click to apply it. Go back to Editor tab, right-click to Paste to Selected Surface(s).
Then you should be able to find the problematic slots are mappable again.
Do note that the lack of options may be a feature of the shader - for example PBR Skin has no Cutout Opacity because using that will disable the scattering effects used by skin. You could apply the base shader for the one with the features you want (you can see the name at top-left of the Editor tab of the Surfaces pane) which will not change values of proeprties thata re common to both shaders - however, proerpties and features unique to the original shader will be lost and proeprties unique to the new shader will have default values. You could also use a Shader preset (or Materials preset if the items have matching surface groups) to copy the shader and settings across, or to partially copy if you exclude certain proerpties in the options dialogue when saving.