I know it is not "officially" and necessarily derogatory, but like I said it "might be perceived" as derogatory, since it is often used by people who despise them (that's why I said it has become the "politically correct" term, in newspapers it's really rare to come across the word "zingari", except for right-wing newspapers). It also depend on the tone you use and what you are actually saying. It has somewhat become like the word "Negro" (initially it was a neutral adj/noun, like "la tratta dei Negri, arte, letterature negra).
Like Mery said Gypsy people actually use the term zingari when casually referring to themselves, but nowadays it can have a negative connotation, unfortunately (at least to non-gipsy people). For example if I'm a person who despise them I might say "questi zingari di merda devono ritornare al paese loro", "questi sporchi zingari", "guarda quello, si veste come uno zingaro" (translated: these fucking zingari have to go back to their country, these dirty zingari, look, he dresses like a zingaro, that is he dresses with dirty, ugly, worn out clothes).
And like Mery said earlier in "zingari main ethnic group" there are not only Rom, but also Sinti and Camminanti subgroups.