The following removes all LanguageTag's, adds de-CH and en-US with multiple keyboard layouts (aka InputMethodTips):

$1 = Get-WinUserLanguageList
$1.RemoveAll( { $args[0].LanguageTag -clike '*' } )
$1.Add("de-CH")
$1[0].InputMethodTips.Clear()              
$1[0].InputMethodTips.Add('0807:00000807')  # German_Swiss KeyBoard to 0807 i.e. de-CH
$1.Add("en-US")
$1[1].InputMethodTips.Clear()             
$1[1].InputMethodTips.Add('0409:00000807')  # German_Swiss keyboard to 0409 i.e. en-US
$1[1].InputMethodTips.Add('0409:00000409')  # English_United_State keyboard to 0409 i.e. en-US
$1[1].InputMethodTips.Add('0409:0000080c')  # French_Belgian keyboard to 0409 i.e. en-US
Set-WinUserLanguageList -LanguageList $1 -Force 

The following removes all LanguageTag's, adds en-US with multiple keyboard layouts (aka InputMethodTips):

$1 = Get-WinUserLanguageList
$1.RemoveAll( { $args[0].LanguageTag -clike '*' } )
$1.Add("en-US")
$1[0].InputMethodTips.Clear()              
$1[0].InputMethodTips.Add('0409:00000807')   # German_Swiss keyboard to 0409 i.e. en-US
$1[0].InputMethodTips.Add('0409:00000409')   # English_United_State keyboard to 0409 i.e. en-US
$1[0].InputMethodTips.Add('0409:0000080c')  # French_Belgian keyboard to 0409 i.e. en-US
Set-WinUserLanguageList -LanguageList $1 -Force 

Reference:
International Settings
automation - Changing keyboard layout in PowerShell for multiple languages - Stack Overflow