My intuition wants to believe that
いまだに is more formal, but all the examples I've seen do not indicate that. Are they freely interchangeable? Can't say I've ever heard
いまだに in spoken context (or ever really seen it often in written context either).
Originally there was only imada. It is a compound of the noun ima (今) and the stem of the particle dani, da. It has two primary meanings: 1) not yet 2) still. When used in the positive sense 2), it emphasizes a continuation from the past.
mada is a contraction from imada. It is much more colloquial than the former. While they both share these two meanings, mada has evolved a number of other finer senses. As a result, imada is now most associated and used for its negative sense "not yet".
Note that 未 is always given the reading "imada... -zu" in 漢文 texts and means "not yet", never "still". This is origin of words such as 未来 (未だ来ず imada ko-zu, that which has not yet come --> the future).