As of now, PowerApps is capable of being able to replace the default SharePoint form (e.g. add, edit, view custom list record).
PowerApps--as an SP form--does not refresh or trigger PowerApps events (e.g. Screen.OnVisible, Screen.OnHidden, Screen.OnStart, Form.DataCard.DataCardValue.OnChange). In addition, the PowerApp form--as it exists on the SP view/webpage--does not incur a refresh when SharePoint's close-form action closes the PowerApp form.
What this means is that if I'm viewing a SP list for Vendors as a PowerApps form and then navigate to screen2 to view a summary of the vendor's product, and then invoke SharePoint's close-form action to close the form, the PowerApps form's session persists and floats in the background. When I subsequently invoke SharePoint's new-record or attempt to edit a new record, the SharePoint PowerApps form opens up on screen2.
A simple solution for this would be to have the PowerApps form restart after SharePoint's close-form action is invoked. The drawback to this would be that the user would experience extra overhead time as the PowerApps form loads.
Another solution would be to give PowerApps form-objects an event (e.g. OnRecordChange) for which SharePoint will trigger when it changes the PowerApps form-object from one record to another. PowerApps designers could then simply put a code to Navigate(Screen1, ScreenTransition.None) to resolve this issue.