Piano is also my primary instrument.
Here are a few thoughts.
If you are a classically and/or jazz- trained pianist, then latency is going to mean something a little different to you than to someone playing mostly loops, pads, etc. You're likely to be more demanding.
When I want to record a serious piano piece, I don't use sounds coming from a program -- any program. I use keyboards (Yamaha electric pianos) that have their own piano sounds. High quality sounds, btw, but that's beyond the point. What counts is that there is virtually no latency.
So I play, and at the same time record myself on a sequencer -- which can be any DAW you like. Meaning that while I am playing, there's a MIDI stream being recorded by the sequencer.
Then, AFTER THAT, I lay piano sounds on that MIDI track.
If you are a professional pianist I would recommend you give this a go, and compare with other methods.