Im Jahr 1836 zog William Sparks mit seinen Eltern nach Illinois, wo er die öffentlichen Schulen besuchte. Danach studierte er bis 1850 am McKendree College in Lebanon. Gleichzeitig arbeitete er auch als Lehrer. Nach einem Jurastudium und seiner 1851 erfolgten Zulassung als Rechtsanwalt begann er in Carlyle in diesem Beruf zu arbeiten. Von 1853 bis 1856 leitete Sparks das Bundeskatasteramt in Edwardsville. Gleichzeitig schlug er als Mitglied der Demokratischen Partei eine politische Laufbahn ein. In den Jahren 1856 und 1857 war er Abgeordneter im Repräsentantenhaus von Illinois; von 1863 bis 1864 gehörte er dem Staatssenat an. Im Juli 1868 nahm er als Delegierter an der Democratic National Convention in New York teil, auf der Horatio Seymour als Präsidentschaftskandidat nominiert wurde.
Bei den Kongresswahlen des Jahres 1874 wurde Sparks im 16. Wahlbezirk von Illinois in das US-Repräsentantenhaus in Washington, D.C. gewählt, wo er am 4. März 1875 die Nachfolge des RepublikanersJames Stewart Martin antrat. Nach drei Wiederwahlen konnte er bis zum 3. März 1883 vier Legislaturperioden im Kongress absolvieren. Von 1877 bis 1879 war Sparks Vorsitzender des Ausschusses zur Kontrolle der Ausgaben des Innenministeriums; von 1879 bis 1881 leitete er den Militärausschuss. Im Jahr 1882 verzichtete er auf eine erneute Kongresskandidatur.
Nach dem Ende seiner Zeit im US-Repräsentantenhaus praktizierte William Sparks wieder als Anwalt. Zwischen 1885 und 1888 war er Bundesbeauftragter für die Katasterbehörde (Commissioner of the United States General Land Office). Danach war er erneut als Rechtsanwalt tätig. Er starb am 7. Mai 1904 in St. Louis und wurde in Carlyle beigesetzt.