Of the three given options ich-CH is closest to English h, gh. The developments that lead to ch and other purportedly lenis phonemes are are fairly similar, eg.
- highlight - hoch + licht (lux), cp. Höhe (Gipfel),
- I - ich (ego, Berliner ick),
- stray - Landstreicher,
- -y - -ig, -ich
- conversely: stroke - Strich (like Streiche spielen, austrixen)
In fact, the ch-sound was frequently spelled with a mere h. It does in most cases stem from *K. The onset in knife has disappeared completely, for example. However, /h/ is aspirated whereas /ç/ is a palatal fricative. These are not contrastive in German but phonetically conditioned allophones. The spelling of long vowels with h is a relic of contrastive lengthening when following consonants were lost.
For similar reasonz, ch is indeed similar to shoe /ʃ/ and chill /t͡ʃ/ but this is kind of secondary to the above. *sk affricated in German and English at least, cp. shirt, Schürze, but Norse gave us skirt. Whether that's the same development as *k > h, cp. Haut, hide, Latin cutis, is difficult to judge. Equivalently, /t/ has iotazised on occasion, eg. tune, choon /tjuːn/, /tʃuːn/. In effect, /s t/ are coronal, ie. produced with the tip of the tongue, whereas /k c/ require a palatal place of articulation, ie. with the dorsal tongue going towards the roof of the mouth. /ʃ/ can be both, though the allophonic place of articulation varies rather closer to the alveolar ridge instead of the hard palate. So, ignoring the coronal onset you are almost there, eg. /(t͡)ʃɪl/ becomes chillipepper may become /ʃiːli/ or rather Cayenpfeffer.
Now approximate a /sk/, affricate and move the tip of the tongue slightly forward and lax. Alternatively, you can think of it as a plosive /k c/ in reverse.
Except that it does not appear syllable initial.
/g/ is also relevant, cp. Micky, Michael, Miguel, Mihial. However, the voice distinction is contrastive, cp. Meier, Maior, mayor, major, Latin mega ~ maioris, older German michel, Sanskrit maha "big", hence also mighty, mächtig, in contrast to meager. The voice distinction has later been erroded, anyhow.
In result, the articulation of /ç/ varies widely, because the noisy, turbulent airflow is rather unspecific. Nevertheless it can be a distinctly audible marker.
König: The Uber-German stop /g/ may have come under the same lenition in low countries, perhaps due to Carolus M. Rex, Gothic cognates not evident. On the other hand, *kuningaz < *kunją ("clan, family", PIE *ǵn̥h₁-yo-m) modulo *-ingaz may be as explained as -ig / *-ja from *-yo-m, cp. [*Hyós] (https://en.wiktionary.org/wiki/Reconstruction:Proto-Indo-European/y%C3%B3s) "that", perhaps as elipses and metonymy, not unlike "the crown", or rather from *ju, cp. ius "the law".
Leipzig in contrast is from a Slavic placename, locally still called Leipz'sch, earlier ...
... "Lipsk", meaning "place of linden trees"; compare Lower Sorbian lipa, from Proto-Slavic *lìpa, from Proto-Balto-Slavic *léiˀpāˀ. Early spellings of the name in Latin include Libzi, Lipzk and the standard Lipsia. (https://en.wiktionary.org/wiki/Leipzig#German)