If you're able to book far enough in advance, then the train is usually the most comfortable and cheapest way to get from city to city. But if you didn't get tickets weeks in advance, a flight is likely to be the most affordable option (it's also the fastest).