Determine the root cause of Failover
Is there anyway to know when was the last fail-over happen 


Yes, have alerts and monitoring setup to log this when it happens.


  and exact Root cause of fail-over?


Sure, you log it manually when you figure out what the root cause is. There is nothing automatic that will magically give you a root cause for the failure - that's your job.


  Can we get history of all the previous primary nodes list and time of their fail-overs?


Unless you already have this information logged somewhere, no there is no place that this is automatically logged at.

You can attempt to slog through the engine errorlog, window event logs, and cluster logs... but there is nothing to say that they haven't rolled over or have been otherwise cleared.


  I have explored a lot in internet. I didn't get the exact steps to see that. 


Because nothing that's automatic currently exists inside the product.