To me, 'impaled with' is used when an adversary actively impales someone, while 'impaled on' suggests that someone fell upon the sharp object through his own misfortune.
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.