From all that I can find, this is most likely a product of etymological development. The word first appeared in the 12th century, coming from the Old English "ut", the word began to surface as Middle English, but was mostly used as a verb, prefix, or adjective, while "in", coming form Old English 'inne" and was grammatically a preposition from Old English moving forward. So it is POSSIBLE that the distinction comes from the need to address "out" as a prepositional opposite/counterpart to "in" and "of" the means to make the distinction.
It is also possible that the phonetics of "inne" versus "ut" played a rolled, ad "inne of" simmilar vows sounds might have been merged during Middle English, thus removing the "of" before inne evolved into "in". This is just a thory mind you, but as people spoke and Engish merged with other languages, it is possible that "inne of" shortened to just "inne" and then shortened again to just "in" as the extra "ne" tends to get dropped by those speaking the language.
As for a modern day rule though, there is nothing I could find, so I think it is evolved basically into the prepositional equivalent to an irregular verb.