It can be recovered using complex sector scanning, however if you used Encryption, your Data partition may still have information on it, but it will still be encrypted.
The main source for recovering Data other than using Root Access to do a full sector scan of the Data / Cache Partitions, is to undelete data on the External SD Card..
You can do a sector scan of your storage without Root Access also, depending on your Android Version.
You should Overwrite the Data partition, not Delete the data and then Flash it again...
Deleting the Data Partition and the Flashing it again, doesn't actually Overwrite the old user data... Formatting it is not Overwriting it Either...
You need to do a Full format of every sector to Overwrite it...
Try writing over the internal storage with another file, repeatedly copy and paste a file until your device can not fit anything else ... Then format it ...