Looking at your setup, I have one question and two suggestions...
Question: I'm not a master of op-amp pre-amps, but how do you know what the gain and frequency response of this circuit will be? The issue to my eye is that there is no buffering between your piezo element and the op-amp input. So, the gain of the op-amp will be dependent upon the output impedance of the piezo? That's poorly know and likely frequency-dependent, no? If I'm correct (which I very well might not be), you might benefit from using a 2nd op-amp to simply be a unity gain buffer. (Or, like I said, I might be wrong and your circuit is totally fine).
Suggestion 1: The SGTL5000 has a lot of chattering noise in its default configuration. Be sure to turn off the ADC's HP filter by putting this command into your setup() function: "adcHighPassFilterDisable();". It has a huge impact on noise. You can see a comparison that I did in this post:
http://openaudio.blogspot.com/2017/0...elf-noise.html
Suggestion 2: When I've worked with the Teensy Audio Board, I found that you *must* have something connected to the ground pin of the line-in. While, yes, you are already referencing a common ground via taking your power from the Teensy (or even from the Teensy audio board), this was never good enough in my tests. I always had to run a wire to the line-in ground. In your case, you could try taking a ground from the bottom of C2 and using that to connect to the ground of the line-in input. If that isn't effective, a more radical idea (and probably a wrong idea) is to connect a wire to the inverting input of your op-amp (the "-" input) and use that as your ground to the line-in. Whatever you choose, you must connect something to the ground input of the line-in.
Chip