While providing a full analysis would be off-topic for this site, I'll give you a few points.
In bars 2 and 6, the bass note is A, so this chord should be analyzed as Am6.
In bar 8, on beat 3 you have written C♯m7, but the bass has a B. I would analyze this as B7sus4.
Slash chords vs. altered chords
In general, I think you are writing too many slash chords and too few chord alterations. Jazz pianists often use a RH upper structure that looks like another chord, so it can seem intuitive to analyze such voicings as slash chords, but writing it as an altered chord instead can make the function more transparent. Examples:
- In bar 4, I would call the chord on beat 1 a C♯7♭9♭13 (spelled enharmonically).
- Bar 10: usually chords like B/C♯ and D/E can be analyzed as 7sus4, although the slash notation isn't uncommon either.
- Likewise, in bar 15 E/A is just Amaj9. Notice C♯ in the melody.
- Final bar: F♯dim7/B is B7♭9.
In my opinion, recognizing upper structure voicings is a valuable learning tool and may be useful when transcribing, but if I am writing charts for other musicians to read, I will favor the altered chord notation. Bassists in particular are notorious for hating slash chords, because it forces them to read the chord "backwards" as they search for their note. (A good bassist won't be tripped up by this, but it's still good to know their preferences.)
On the other hand, some musicians feel the opposite way, preferring slash chords because they can specify a certain upper structure voicing. So, it's a good idea to maintain a mental dictionary of chord "synonyms." For example, C9sus4 = Gm7/C = B♭/C.
Key of analysis
I agree with the choice of E major for this example. Bar 14 looks like a resolution point, and the song just happens to start on the IV chord, which is no problem. Notice also the occurrences of an Amaj7 Am6 sequence: IV iv iii and IV iv I are fairly common progressions.
There are several unusual things going on harmonically here, including a lot of descending-fourth bass motion (whereas descending fifths are more common). If you want to practice roman-numeral analysis, you might get more bang for your buck by working on a more linear tune like "I Thought About You."