Socio or socia is really for business partners, and although it can also be a slang term for a spouse or romantic partner, it's not universally understood and may sound too familiar.
Compañero, compañera are much more commonly used for this meaning, although they have exactly the same problem as English "partner" (but context usually resolves the ambiguity).
Pareja is basically unmistakable; it can mean "dance partner" but of course that's a very restricted context, so most everybody will understand that it means romantic/sexual partner. It does have (at least for me) a certain ring; semantically, it points specifically to coupling (in every sense of the word).
Compañero/a on the other hand signals companionship, togetherness, and sharing, so to me it sounds better. Pareja can mean "someone I meet regularly for sex" or "someone I share a place with"; compañero/a invokes deeper ties.