mid-15c., "pretend poverty," probably from Old French muchier, mucier "to hide, sulk, conceal, hide away, keep out of sight," a word of uncertain origin, perhaps from Celtic or Germanic (Liberman prefers the latter, Klein the former). Also compare Middle English michen "to pilfer (small things)," mid-15c., perhaps from an Old English *mycan (compare Old High German muhhan "rob, ambush, waylay"). Or the word may be a variant of Middle English mucchen "to hoard, be stingy" (c. 1300), probably originally "to keep coins in one's nightcap," from mucche "nightcap," from Middle Dutch muste "cap, nightcap," ultimately from Medieval Latin almucia, also a word of unknown origin. Sense of "sponge off others" is recorded by 1857.
Whatever the distant origin of mooch, the [Germanic] verb *mycan and its cognates have been part of European slang for at least two millennia. [Liberman]
It appears to be a remarkably long-lived bit of slang. Related: Mooched; mooching. As a noun meaning "a moocher," from 1914; as "action of mooching," by 1867.