Is cholera only transmitted through ingestion of dirty water?

No. You can get it directly from another person through fecal-oral contact. Which may seem unlikely, but if you clean up someone's diarrhea and don't wash your hands, you'll probably get it.
No. Cholera is spread when feces infected by Vibrio cholerae contaminates water or food. Inadequately cooked seafood can be a cause. It is most often seen in areas with poor sanitation & deficient water treatments. Person to person transmission is rare.