Are you saying not "rooves" in spelling, or in pronunciation, or both? I spell it "roofs" but pronounce it "rooves". With "dwarfs" and "dwarves", it depends on context for both spelling and pronunciation I think.
It's probably due to what the parent said--the letters f and v were allophones in OE. Same reason why they are pronounced the same in German.
Or “dwarf”, aside from Tolkien.
Tolkien actually wanted for the pural of "dwarf" to be "dwerrows", but compromised to the neutral "dwarves".