Se tiver que ser simultaneamente barato e economizador de tempo, será difícil vencer o avião.
Você pode considerar uma viagem de ônibus. Demora cerca de 10 horas e é provavelmente mais barato do que o avião, se você planeja em um curto espaço de tempo. Veja por exemplo aqui: link
10 horas é também a duração de um trem durante o dia, via Berlim. Há rotas combinadas de trem / ônibus, via Nürnberg ou Mannheim, vendidas pela Deutsche Bahn. O tempo de viagem é um pouco menos de 8 horas via Nürnberg e aproximadamente 10 horas via Mannheim. Se você reservar com antecedência e / ou em datas menos movimentadas, essas opções podem ser bastante econômicas.
Há também um trem noturno direto de Colônia para Praga. É realmente muito efetivo. Você viaja enquanto dorme. E se você reservar com antecedência suficiente, será bastante barato (considerando também o fato de que o bilhete de trem inclui o alojamento).