I think I got it - this is a compiled routine from several forums and boards. I Ran this exactly as listed below and sleep appears to be working properly now (solid for 4 days). I am running SP4 fully patched with latest drivers installed.
This is a rather in depth routine, please follow all the steps in order and don't skip around:
Run the COMMAND PROMPT (ADMIN) and enter:
sfc /scannow
If the report comes back detailing errors/missing/corrupt files then run the more advanced command in the same window:
Dism /online /cleanup-image /restorehealth
If the report comes back with Error code: 0x800f081f then your Surface has missing and corrupt files (having to do with Windows Updates). Run the following to correct:
Step 1: Download the Windows 10 64 Bit ISO from the Tech Bench Upgrade Program using this link (just the 64 bit ISO - nothing else is required):
Tech Bench
Step 2: Delete any existing CBS Log file: The path is: "C:\Windows\Logs\CBS\CBS.log"
Step 3: Mount the downloaded Windows 10 64 Bit ISO file "Win10_1511_English_x64", do not run (auto) setup.exe.
Step 4: Run the DISM command in Command Prompt (Admin):
DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:E:\Sources\Install.wim:1 /LimitAccess
* Note: Make sure that the source drive letter is correct. In this example above the source of the Mounted ISO is E ("/source:WIM:E:"). Check the file explorer after mounting the ISO for the correct drive letter.
Step 5: Run (again) the COMMAND PROMPT (ADMIN) and enter:
sfc /scannow
If the report comes back detailing errors/missing/corrupt files, REBOOT the SP4. DON'T SKIP THIS - DON'T BE LAZY - THIS REBOOT IS NECESSARY.
AFTER REBOOT:
Step 1: Delete any existing CBS Log file. The path is: "C:\Windows\Logs\CBS\CBS.log"
Step 2: Mount the downloaded Windows 10 64 Bit ISO file "Win10_1511_English_x64", do not run (auto) setup.exe.
Step 3: Run (again) the DISM command in Command Prompt (Admin):
DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:E:\Sources\Install.wim:1 /LimitAccess
Step 4: Run (again) the COMMAND PROMPT (ADMIN) and enter:
sfc /scannow
YOU MAY NEED to re-run 1 - 4 above with a restart in-between a couple times to clear all errors.
The work above is a compilation of several authors (not me) ~ I do not take credit nor responsibility. I am simply sharing what worked for me.