Is sodium percarbonate the safest and by weight the most efficient oxygen generator?
Careful, as sodium percarbonate (basically $\ce{3Na2CO3.2H2O2}$) is usually marketed as a chlorine-free bleach. The latter usually has an additive, TAED, which acts as a key activator. See, for example, Wikipedia on OxiClean, where not even listed on the label is TetraAcetylEthyleneDiamine, which is apparently commonly employed as a bleach activator in many laundry products, see this, for example.  

TAED reacts with H2O2 in alkaline conditions (referred to as perhydrolysis) creating, in part, Peracetic Acid. The latter PAA is actually preferred over sluggish H2O2 for bleaching. In other words, it is not the H2O2 as the active bleaching agent, but PAA created in situ.  

So, other than possibly misleadingly implying that eco-friendly hydrogen peroxide is the active agent, it is, in reality, PAA, a probematic compound with associated health concerns (see Marquand, E. C.; et al. , 2007. "Asthma Caused by Peracetic Acid-Hydrogen Peroxide Mixture". J. Occup. Health. 49 (2): 155–158.). Here is an MSDS on an actual PAA mix, ( 76-61% water, PAA 20-35%, 3% Acetic acid and 1% H2O2), which is far from friendly but does eventually totally decompose into harmless O2, CO2, H2O,...

As such, anyone using a commercial percarbonate product should at least be aware of potential safety issues that one may likely be employing a Peracetic acid mix.

Note, there is an indicator that you do not have pure sodium percarbonate. It is the presence of some dire warning labels.