For rust preventive coating of firearms, I don't think its a bad choice, but for moving parts for all but used in extreme cold, I recommend white lithium automotive grease. I was given that recommendation from a gunsmith years ago when I asked about lubing the moving parts on one of my semi-auto rifles. I am glad I took his advice too. I have 30 year old rifles that have had thousands of rounds through them, and from using the grease the parts look almost like new.
Most guys fall victim to the less lube the better mentality on a semi-auto and then they wonder why their parts wear out so quickly. Of course with grease you don't want to over do it, just a light film. But even if you get a little liberal with it, it won't hurt. Grease when heated usually gets thin but still coats parts and lubes them. Thin watery gun oils when heated under the use of fast fired semi-autos, will quickly dry up leaving the metal parts exposed to excessive wear.
Now in extreme cold conditions then I say no do not use grease, in that case go to dry lubes like powdered graphite.
I would not put 3-in-1 oil on a firearm. I restore a lot of old things, from antique sewing machines to firearms, and stripping old oil...usually 3-in-1, that has turned to lacquer is a real pain. I recommend giving Grant Cunningham's article a read. I have been using the Lubriplate he recommends, almost exclusively, for a number of years. Occasionally, I use Rem Oil as a protectant since it is easier to get than Eezox, which is my favorite.