Best method to do piano key pitch detection?
There is no easy answer to that question. Plenty of algorithms exists which are suitable to that task. Nowadays Non-negative Matrix Factorisation (NMF) is getting more and more popular in this field of research. If you have enough of resources and knowledge then you can try it. It's just a 'fancy' SVD decomposition with some 'constraints and tweaks'.

Some literature for you that might be useful in terms of choosing the approach. First one contains some vast overview of the problem as well as lot's of references:


  Benetos E., et al. - Automatic music transcription: challenges and future
  directions
  
  Benetos E., Dixon S. - Joint Multi-pitch Detection using Harmonic
  Envelope Estimation for Polyphonic Music
  Transcription
  
  Benetos E., et al. - Automatic Transcription of Pitched and
  Unpitched Sounds from Polyphonic
  Music
  
  Benetos E. - Automatic Transcription of Polyphonic Music Exploiting Temporal Evolution - PhD Thesis
  
  O'Hanlon K., Plumbley M. - Automatic Music Transcription using Row
  Weighted
  Decompositions