#1
This thing makes me a lot a troubles, I didn't pay atention, but it's very annoying. So if I do a C major arpeggio:

--15p12----------------------------
-----------13---------------------
---------------12-----------------
--------------------14---------
------------------------------
----------------------------
always , when I come across G string, I hear sloppy sound coming from the natural harmonic on the 12th fret because of the B string vibrating below, no matter if I stopped the B string with my index finger while crossing G string, I still hear it. How to mute this sound? Any ideas? I'm not beginner in sweep picking, I can mute fine everywhere but harmonics are killing me
#2
I dont have my guitar with me now, but I would guess that I would take my finger off of the 13 on the B string and my finger fretting the 12 on the B string would be leaning against the B string a bit.

But I am guessing this is what you are doing and that it is this that is causing the harmonic. So I'll say try get it so the B string is pushed down a little. Not so that its fretted but so that its completely muted. I'd say its the same kind of thing you would do to avoid playing harmonics when doing funk chucking.
#3
Slow it down to a reasonable tempo, and make sure you focus on playing it cleanly and accurately with as little excess noise as possible. The harmonics are probably more to do with sloppy technique than anything.