@George Chen's answer is roughly correct, but not completely accurate.
To fully answer this question, it would be interesting to know the etymology of the word '江'(jiāng in Standard Mandarin) and the word '河' (hé in Standard Mandarin) respectively.
In Old Chinese, the character 河 is pronounced as 'gaal', while the word '江' is pronounced as 'kroong'. It is speculated that 'gaal' is a Sino-Tibetan word, while 'kroong' is a loan word from Mon-Khmer languages. In ancient times, southern China was inhabited by Mon-Khmer speaking peoples, while northern China was inhabited mostly by Sinitic language speakers.
So, mostly rivers in the South are called '江', while rivers in the north are called '河'. However, it should be noted that rivers in North East China are mostly called '江'. This is due to the influence of Korean languages.
Most foreign rivers are called 河, with a significant exception: rivers in the Korean Peninsula are called 江:大同江、汉江, etc, as rivers in the North East.