1. What is the practical data limit when using SharePoint as a data source?
This depends entirely on your use case, so more details on what you are thinking to achieve would help. The data row limit is put in place to protect makers from building Power Apps that easily become non performant by limiting the number of records that are being pulled in, forcing makers to make conscious decisions on how to spend resources. There are workarounds, but ultimately it boils down to what response times are deemed acceptable to the end users, although it may be tough to give an estimate about what the performance of certain design patterns is.
2. How does the delegation limit (500 / 2000 rows) affect large lists?
The data row limit is the maximum number of records that Power Apps can pull in, which I like to see as a window. This window applies regardless of whether your formulas are delegable or not.
In case the formulas you write are not delegable, Power Apps will try to pull in all records from SharePoint and then apply the logic from your formula. In case the number of records is greater than the data row limit, any records that fall outside of the window will not show up in the Power App for sure, regardless of whether they meet the logic in your formula.
However, if your formulas are delegable but the number of records that is returned is still greater than the data row limit, any records outside of the window will still be dropped.
3. If the SharePoint list contains more than 5,000 items, what is the recommended design approach?
Given the above, I would recommend to always make sure that the number of returned records remains below the data row limit, for instance by applying pagination.
Another thing you may do is to make the columns that are used for filtering and sorting indexed to overcome the 5,000 record SharePoint view threshold.
4. Are there any best practices to handle large datasets efficiently in Power Apps?
See the above. Depending on the growth rate of your data set you may consider an alternative dataset, although I have had canvas apps working which were connected to SharePoint listst that contained 10s of thousands of records without any issues.
If this reply helped you in any way, please give it a Like 💜 and in case it resolved your issue, please mark it as the Verified Answer ✅.