Правильно: панацея от чего-либо.
В этом сочетании избыточности нет. См. толкование слова в «Большом толковом словаре русского языка» под ред. С. А. Кузнецова. Г. Н. Скляревская в словаре «Лексика современного русского православия» (СПб, 2016) пишет об ангелах так:
«Третий чин третьего лика Небесной иерархии; духовные (бесплотные) существа, наделенные волей и разумом, вестники Бога, через которых Бог возвещает людям Свою волю.
Ангелы были сотворены прежде человека и славословили Бога еще при сотворении видимого мира. Помимо Божиих Ангелов, существуют злые, отпавшие от Бога (в русской православной традиции написание «аггел»). См. также Аггел. Небесная иерархия. Падшие ангелы».
Нет. Лат. panacea - лекарство от всех болезней (не только от рака).
Орфографически верно: ангел-хранитель.
Это бессоюзное сложное предложение, вторая часть которого представляет собой присоединительное предложение, поэтому между частями нужно поставить тире. Добавим, что возможен и вариант с разделением высказывания на два предложения, например: Кто-то приближается сквозь туман... Ангел это или дьявол?