After Cairo, my next destination was Luxor, which is the hub of ancient Egyptian ruins
After much research, I settled on taking the day train from Cairo
There's also a night train option but it's significantly more expensive (around $100US from what I recall) and you miss all views of Nile
Day trains are much better. Only ~200 LE ($12US) for 1st class, and ~100LE ($6US) for second class
However, foreigners aren't currently allowed to buy this train in person at the stations. You need to buy it online ahead of time
I took train 980 leaving Cairo (Ramsis Station) at 8am and arriving in Luxor at 6:15pm
How to buy day train tickets online:
I got my ticket from official Egyptian National Railway's website https://enr.gov.eg (default to Arabic but you can change it to English)
Create an account (need passport number), then log in. You can't book a train without creating an account, but it took me less than a minute to create one
In the main page after log in (not the side bar or top bar), in the "Make Reservation" section there's a blue link "I Agree to terms an conditions above", click on it to go to the booking page
From here on you can put in the required info and buy your ticket with credit card. Note that you need to enter the date in dd/mm/yyyy format
The ticket will be emailed to you. Print it out and bring it to the station. At the station you can just go straight to the train, no need to go to any booths for validation or anything like that
Useful tips:
The railway's website is slow and clunky. When I bought my ticket I had to refresh it multiple times because the first few times the site didn't show any availabilities on the dates I picked
The railway's website also has a section to look up your train schedule without having to create an account. Click on the "Train Schedule" button on the top bar to get there. Use dd/mm/yyyy date format